git仓库使用问题

git仓库创建之后,一般都会创建两个分支开发分支dev和主干分支master。其中远端仓库一般checkout于master分支。master分支是稳定分支,用于发布版本,添加标签等。dev分支不是稳定分支,与最新工作进度保持一致,协同工作都是用此分支。

由于远端仓库的当前分支是不能接收代码提交的,故远端仓库通常都处于master分支。master的代码提交需求极少(除了部分前期版本bug修复时可能需要直接提交到master分支)。故 git clone到本地的仓库是对应于远端的mater分支。

查询当前分支关联到哪个远程分支:
git config -l | grep 'branch\.master'

开发工作需要在本地的dev分支进行,且此分支必须与远端dev分支关联。进行如下操作:

$git clone git_rul  //克隆远端仓库
$git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop_branch
  remotes/origin/master
$git checkout -b dev origin/dev  //在本地建立与远端开发分支对应的分支,最好保持分支名一致
$git branch --set-upstream-to origin/dev //建立本地分支与远程分支的关联
$git config push.default upstream //设置推送设置为upstream 表示默认push到关联远程分支。

通过如上设置后,在dev分支push 和pull直接操作远程dev分支。

git config push.default几个参数的含义:

  • current 直接提交本地分支到远端仓库
  • matching 提交到与本地此分支同名的远端分支
  • simple 只能提交到pull到当前分支的远端分支
  • upstream 提交到此分支所关联的远端分支

git checkout -b 与git checkout的差异

  • git checkout -b 表示基于当前分支创建一个分支,然后切换到该分支
  • git checkout (远程分支名) 表示直接创建一个与远程分支同名的本地分支,且此分支与当前分支没有关系。
    故添加 -b 参数的分支创建的分支与当前分支一致,必须手动关联远程分支,如此就可能出现远程分支与当前分支存在差异,需要进行合并。而不加 -b 参数则没有此问题。

git版本管理思路

git仓库使用问题_第1张图片

你可能感兴趣的:(git仓库使用问题)