之前我们的版本管理工具一直使用Mercurial(Hg),由于最近将另一个业务的子项目要与当前的项目结合,所以我们把新的项目迁移到了git上,之前对于git的基本操作和使用已经很熟练了,但是很久不用,发现再次使用的时候竟然遗忘了很多,所以在此做一篇记录,以便以后遗忘的时候翻阅和浏览,正好趁着休息又在自己的电脑上折腾了一把
1.安装git
在 Mac 上安装 Git 有多种方式,最简单的方法是安装 Xcode Command Line Tools,如果你一开始没有安装,当你尝试使用git命令的时候,也会提示你安装,根据提示安装即可
2.使用git前的一些配置
git 包含3个配置文件config文件,分别存储在不同的位置
a. /etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。
b. ~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户 (根目录的隐藏文件)
c. 当前使用仓库的 Git 目录中的 config 文件(就是 .git/config)
基本配置:用户名称和邮件地址(使用git提交信息时需要)
$ git config --global user.name "cayley"
$ git config --global user.email [email protected]
检查配置信息:书写完配置后可以运行检查一遍
$ git config --list
3.获取你的git仓库项目(不是初始化一个git项目)
获取的传输协议有多种包括 http,https,ssh,git,到你的项目目录下克隆你的项目
$ git clone https://github.com/libgit/project
使用ssh协议,开发团队项目中,所有的团员都要添加自己的ssh秘钥
生成自己的ssh key:终端输入 ssh-keygen -t rsa -C “[email protected]”
(一个用户可以拥有多个公钥,而一个公钥只能认证一个用户)
生成后的文件在.ssh隐藏文件中 运行
$ ls -a
$ cd .ssh
$ vi id_rsa.pub
把id_rsa.pub文件的内容粘贴进去即可
4.检查自己的分支和切换分支
$ git branch
会显示你的当前分支,如果想要查看远端库的分支情况
$ git branch -r
会列出所有的远端库分支,切换到其中的一个分支(比如切到dev分支)
$ git checkout -b dev
5.创建新的分支并且提交到远端
比如从master分支创建一个分支叫做“app"
$ git checkout -b app
创建完可以查看一下,分支已经切换到app,但是还需要做一些操作
$ git branch ( 查看)
建立本地到上游(远端)仓的链接 --这样代码才能提交上去
$ git branch --set-upstream-to=origin/app
取消对master的跟踪
$ git branch --unset-upstream master
最后提交$ git push origin app
6.修改,提交,拉取,推送
修改了某个文件,需要把这个文件做commit提交,提交后先拉取一下远端这个分支的变更后再进行推送到远端
$ git commit -m "some str"
$ git pull
$ git push
7. 合并
比如要把a分支合并到b分支,那么把分支切回到b分支上,运行
$ git merge a
如果报错,有冲突运行
$ git status 然后查看信息解决冲突
8.拉取一个远端的分支
git branch -a
实际使用场景记录
1.别人在版本库创建了一个分支提交之后,我也需要在这个分支下开发,那就要把这个分支拉取到本地
* 先查看本地分支:$ git branch
*查看远程分支:$ git branch -r
*拉取远程你想要的分支到本地并且切换当这个分支: $ git checkout -b new origin/new
然后就可以开发了
2.在本地创建一个新的分支开发新需要,一般都是从master上创建一个新的分支
*先切换到master分支:$ git checkout master
*拉取最新的代码:$ git pull
* 创建新的需求分支new:$ git checkout -b new
*将自己创建的本地分支提交到远程new分支别人才能拉取你的分支在本地开发:$ git push origin new: new
然后就可以开发了 大家这个需求都在这个分支开发