Git安装及操作指令
GIT
Git 是一个开源的分布式版本控制系统。
控制系统:
目前相对主流的是Git 与 SVN。
Git 与 SVN 区别点:
1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
git记录的是每次变化的内容而不是每个时刻的文件,因此,git的版本控制,只能监控文本文件的变化。
安装配置
在Git - Downloads (git-scm.com)下载相应版本的git安装文件。
CNPM Binaries Mirror
git本地所有的配置项可以使用如下命令查看
git config --list
要在本地设置当前用户
git config --global user.name "XXX"
git config --global user.email "邮箱地址"
user.name和user.email设置,将来连接服务器时,服务器记录我们这里设置的内容。
所以,这里设置的内容仅仅作为服务器记录的内容。
创建git仓库
对于一个不是git仓库的目录,打开图形界面会显示如下内容
使用gui或命令行创建
git init
在目录中会自动产生一个隐藏文件夹 .git。
记录变化
git(所有的版本控制软件都只能详细记录文本文件的变化,对于二进制文件只能记录存在与否)。
git基本节点不是文件,所以,在一次改动中,可以记录多个文件的变化。
要记录改动,首先要添加需要记录的文件:
git add xxx
可以添加多个文件,添加之后,使用commit命令记录改变:
git commit -m '改动说明'
git默认要求每次改动必须有说明,没有说明会禁止记录。
查看库当前状态
git status
可以查看库当前状态。
如果有改变且未提交的文件就会被列出,此时们可以使用diff命令查看变化
git diff xxx
查看提交历史
在实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么。版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log
命令查看:
git log
版本回退
HEAD`指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
commit_id 可以不写全,git会自动查找。
git reset --hard commit_id
HEAD~1
回退一个版本
git reset --hard HEAD~1
我们对版本的每次操作都会被记录,可以使用get reflog查看:
git reflog
远程仓库
远端仓库账号建立好之后,我们需要让远端仓库的账号和我们本地的账号关联起来。
我们使用ssh的方式来进行关联。
要连接远程仓库,需要
ssh key
ssh-keygen -t rsa -C "youremail@example.com"
成功后会生成C:\Users\用户\.ssh
这个目录,里面有id_rsa
和id_rsa.pub
两个文件。
id_rsa
是私钥,id_rsa.pub
是公钥。
在远程仓库的ssh用户安全设置里添加一个公钥。
关联远程库
在服务端创建一个仓库,得到仓库的地址,使用如下命令与本地的仓库结合:
在本地仓库的bash界面:
git remote add <远端连接的名称> git@gitee.com:lordleech/demo.git
origin是当前远程连接的名称。一个本地仓库可以同时关联多个远程仓库(名字不能一样)。
如果关联的远端地址出错了,可以查看和移除后重新添加
git remote -v
origin git@gitee.com:lordleech/demo.git (fetch)
origin git@gitee.com:lordleech/demo.git (push)
git remote rm origin
SSH警告
因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes
回车即可。
本地推送
git push origin master
本地推送到远程 origin 的master分支。
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
拉取
git pull origin master
克隆
对于别人的远程仓库,想要下载,可以使用git来下载:
git clone git@gitee.com:harris992/JQuery-TreeTable-Plugin.git
表示在当前目录下,创建JQuery-TreeTable-Plugin目录,下载所有文件。
分支
可以使用如下命令,创建并切换到dev分支:
git checkout -b dev
Switched to a new branch 'dev'
git checkout
(切糕)命令加上-b
参数表示创建并切换,相当于以下两条命令:
git branch dev //创建dev分支
git checkout dev // 切换到dev分支
然后,用git branch
命令查看当前分支:
git branch
* devmaster
git branch
命令会列出所有分支,当前分支前面会标一个*
号。
合并分支
表示将dev分支合并到当前分支中。
git merge dev
合并后可以删除dev分支
git branch -d dev
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
或者git switch <name>
创建+切换分支:git checkout -b <name>
或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
协作开发
本地服务器或者gitee服务器但要求多人在一个项目组中:
在这种场景下,各个小组成员要求每个成员都建立自己的分支,项目完成后。每个人按顺序将服务器主分支拉去到本地,本地的私有分支合并到本地的主分支,本地主分支推送到服务器。这种情况适用于小组成员之间的工作没有交叉。
gitee服务器且人员不确定,工作也有可能有交叉:
参与项目的成员:
1、将主仓库 fork(在自己的账号中建立了一个别人的仓库副本) 一份到自己的仓库。
2、将本地仓库与fork出来的远程仓库关联,有的改动后推送到远程fork仓库。
3、在fork仓库中新建一个拉取请求发送到主仓库。
4、主仓库的管理员会看到别人的拉取请求,及详细内容,可以拒绝与同意,一旦同意,就会合并。
克隆到本地:
git clone git@gitee.com:lordleech/zTree_v3.git
再次确认克隆后的仓库是否有远端的连接:
git remote -v
origin git@gitee.com:lordleech/zTree_v3.git (fetch)
origin git@gitee.com:lordleech/zTree_v3.git (push)
如果打印内容为空,则需要我们手动添加远端链接
git remote add origin git@gitee.com:lordleech/zTree_v3.git
完成后再次执行git remote -v 查看,确认远端链接已添加。
2、修改文件。
修改文件后查看库状态:
git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")
记录并提交这个改变:
git add README.md
git commit -m '提交时的注释'
将这个改变提交到远端库
git push origin master
成功后,在网页中的当前库(自己的)就可以看到变化。
3、发起拉取请求
点击图片右下角的 +Pull Request。
确认源分支和目标分支是否正确。
填写请求的标题和内容,然后创建 Pull Request。
Git安装及操作指令相关推荐
- linux下git的相关操作指令
linux下git的相关操作指令 git版本管理工具 1.克隆仓库git clone "url" 2.上传2.1标记:告诉git工具需要管理那些文件了git add [filena ...
- git的简单操作指令
个人总结的git简单操作 $ git config --global user.name "name" $ git config --global user.email " ...
- Git学习(了解版本控制、Git安装配置、Git基本理论、Git搭建、Git文件操作、使用码云或Github、IDEA集成Git,Git分支开发)
学习git之前,我们需要先明白一个概念,版本控制! 版本控制 什么是版本控制 版本迭代,新的版本!版本管理器. 版本控制(Revision Control)是一种在开发的过程中用于管理我们对文件.目录 ...
- 版本控制介绍、Git的安装、TortoiseGit的安装、Git的文件操作、IDEA + 同步到GitHub远程仓库 | 克隆 | 分支 | 忽略文件
文章目录 版本控制 什么是版本控制 常见的版本控制工具 版本控制分类 Git与SVN的主要区别 Git的历史 Git安装与配置 TortoiseGit的安装 Git基本理论 Git项目搭建 Git文件 ...
- Is it going on-------------Docker容器的安装以及基本的操作指令
什么是Docker docker是在linux容器中运行的开源工具,是一种轻量级的虚拟机.docker设计的宗旨是,通过应用组件的封装.发布.部署.运行等生命周期的管理,达到组件级别的"一次 ...
- 常用的git操作指令
一.项目中常用的git操作指令 git stash //将修改 的代码存到暂存区 git pull --rebase origin master //当前分支名称 git stash pop //将你 ...
- macos安装git命令行_MAC OS git客户端安装及操作
1. 下载安装mac os 版本的git客户端及相关可视化软件 1.1 从git官网上下载匹配的git客户端.pkg格式的包,然后在系统偏好设置-> 安全性与隐私中打开系统默认禁止安装的这个程序 ...
- 前端学习(2631):git安装
git 提交 全部文件 1.git add . git add xx 命令可以将xx文件添加到暂存区,如果有很多改动可以通过get add -A .来一次添加所有改变的文件.注意 -A 选项后面还有一 ...
- adb 操作指令详解
ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具. 注:有部分命令的支持情况可能与 Android ...
最新文章
- 八十二、归并排序求取复杂的逆序数
- Python程序员晒追女神聊天截图,坦言第一次没经验,网友直呼凭实力单身
- 详解ROS中的TF使用
- 【备忘录】word利用mathtype进行公式分章节编号和引用
- spring3 运行起来(即做个demo)所需要的jar包
- oppo a57刷机成功教程
- bc547可以用8050代换吗_代换S8550 S8050三极管要特别注意放大倍数
- html中用于排版标题标签是,web端测试也需要懂-HTML排版标签
- 北汽极狐ARCFOX与华为合作
- 微信小程序四种json配置文件详解
- 英语--副词描述变化量大小
- 运维 ---linux基础
- 中国土地利用现状遥感监测数据(1985-2020年)
- 设计一个形状类(接口)Shape
- 关闭小米路由器防火墙 放行端口
- 基于jsp的洋酒销售系统
- Bridge in Linux Kernel——STP
- Ipad手写笔什么牌子好用?高性价比ipad手写笔排行
- 版本中的GA的缩写和意思
- 个人PC连接服务器同时上网