Git 远程仓库分支管理

时间:2021-08-16 19:48:19

目录

速查表

指令 作用
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