目录
速查表
指令 | 作用 |
---|---|
git branch | 查看分支 |
git branch newBranchName | 创建分支 |
git checkout branchName | 切换分支 |
giit checkout -b newBranchName | 创建+切换分支 |
git merge branchName | 合并分支到当前分支 |
git branch -d branchName | 删除分支 |
关联远程代码仓库
登录一个远程仓库首先需要的是身份验证, 一般会使用 SSH 的方式, 常用的 Github 和 Gerrit 都会需要你提供 SSH 公钥, 来确定对仓库进行操作的是否是可信任的本人. 如果你在 Github 上有一个空的远程代码仓库, 那么我们可以从这个远程仓库克隆出新的本地仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到 GitHub 远程仓库中。
EG: 将本地的 jmilkfanDir 仓库关联至远程的 origin(Github默认) 仓库, 并把本地库的所有内容推送到远程库上
cd jmilkfanDir
git remote add origin git@github.com:JmilkFan/jmilkfanDir # 添加一个新的远程仓库
git push -u origin master # 将当前的 master 分支关联远程 origin 并且把内容推送上去;
NOTE: 由于远程库是空的,我们第一次推送 jmilkfanDir master 分支时,加上了 -u 参数,Gi t不但会把本地的 master 分支内容推送的远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化指令。
克隆远程仓库
git clone https://github.com/JmilkFan/my-code-repertory.git
cd my-code-repertory
分支管理
在开发一个功能模块时, 我们首先会从远程代码仓库克隆 master 分支到本地, 但是强烈的建议不要在 master 上直接进行开发. 这样会非常容易出现冲突的情况, 所以我们一般会在 master 的基础上再创建一个新的分支来进行开发工作.
我们创建了一个属于自己的分支,别人是看不到的,我们在自己的分支上进行开发,想提交就提交,直到开发完毕后,再一次性合并到原来的 master 分支上,这样,既安全,又不影响别人工作。
创建分支
git branch newBranchName # 创建分支, 但不切换
# Or
git checkout -b jmilkfan-dev # -b: 创建并切换到 jmlkfan-dev 分支
git branch
切换分支
git checkout branchName
# EG:
git checkout master
git branch
合并分支
git branch # 查看当前分支
git merge jmilkfan-dev # 合并指定分支到当前分支
删除分支
git branch -d jmilkfan-dev
# Or
git branch -D jmilkfan-dev # 强制删除
解决冲突
- 查看冲突的内容
git diff [filename]
手动合并冲突内容
重新提交合并
git add .
git commit
git merge branchName
- 查看分支合并情况
git log --graph --pretty=oneline --abbrev-commit