003 git的日常操作-新建分支
新建分支
一、本地仓库与远程仓库都无此分支
创建本地分支 dev
并将其关联到远程仓库的 origin/dev
分支。
步骤:
-
检查当前所在分支,确保不在
dev
分支上:git branch
-
如果不在
dev
分支上,切换到master
或其他主分支-取决于你想让该分支拥有那个分支的数据:git checkout master
-
然后创建并切换到
dev
分支:git checkout -b dev
注意:在哪个分支上执行此命令,则创建的分支dev将会包含当前所在分支的所有提交记录和文件内容。但dev分支与当前分支互不影响。
- 推送
dev
分支到远程仓库(-u 没有关联远程分支,则实现关联):git push -u origin dev
二、本地仓库有分支但远程仓库无此分支
如果本地仓库已经有了 dev
分支,但远程仓库没有 dev
分支。
步骤:
-
确保你当前在
dev
分支上:git checkout dev
-
将本地
dev
分支推送到远程仓库,并通过-u参数设置远程仓库的dev
分支跟踪本地的dev
分支:git push -u origin dev
这样,你就成功地将本地的 dev
分支推送到了远程仓库,并且设置了远程仓库的 dev
分支跟踪本地的 dev
分支。
二、本地仓库无此分支但远程仓库有此分支
如果本地仓库没有某个分支但远程仓库有这个分支
步骤
-
首先,使用以下命令查看远程仓库的分支情况,找到你想要拉取的远程分支名,比如
dev
:git branch -r
-
然后,使用以下命令将远程分支
dev
拉取到本地并创建一个新的本地分支dev
:git checkout -b dev origin/dev
这条命令的含义是从远程仓库的
origin
中拉取dev
分支,并在本地创建一个名为dev
的新分支,并切换到该分支。 -
如果需要将本地的
dev
分支与远程仓库的dev
分支建立追踪关系(即可以使用git pull
和git push
同步),可以使用以下命令:git branch --set-upstream-to=origin/dev dev
现在,你已经成功将远程仓库的 dev
分支拉取到了本地,并且可以在本地分支上进行修改和提交。
git branch --set-upstream-to=origin/dev dev
git branch --set-upstream-to=origin/dev dev
这条命令的作用是将本地分支 dev
设置为追踪(track)远程仓库的 origin/dev
分支,使得本地分支能够与远程分支保持同步。
具体解释如下:
git branch --set-upstream-to=origin/dev dev
:这条命令将本地分支dev
设置为追踪origin/dev
分支,即告诉 Git 当前本地分支dev
对应的远程分支是origin/dev
。
通过执行这条命令,你可以使用 git pull
命令从远程仓库的 origin/dev
分支拉取更新到本地的 dev
分支,以及使用 git push
命令将本地的 dev
分支推送到远程仓库的 origin/dev
分支,实现本地分支与远程分支的同步。
git branch --set-upstream-to=origin/dev dev 与git push -u origin dev 的区别?
git branch --set-upstream-to=origin/dev dev
和 git push -u origin dev
都可以用来将本地分支 dev
设置为追踪远程仓库的 origin/dev
分支,但它们的作用略有不同。
-
git branch --set-upstream-to=origin/dev dev
:- 这条命令只是将本地分支
dev
设置为追踪origin/dev
分支,但不会立即进行推送或拉取操作。 - 通常在本地已经有了一个分支,并且想要将其与远程分支建立追踪关系时使用,不会触发推送操作。
- 这条命令只是将本地分支
-
git push -u origin dev
:- 这条命令会将本地的
dev
分支推送到远程仓库的origin/dev
分支,并且设置本地的dev
分支与远程仓库的origin/dev
分支建立追踪关系。 - 如果远程仓库中没有
origin/dev
分支,会创建一个新的origin/dev
分支,并将本地的dev
分支推送到远程仓库。 -u
参数相当于--set-upstream
,用于设置本地分支与远程分支的追踪关系。
- 这条命令会将本地的
因此,如果你只需要设置本地分支与远程分支的追踪关系而不进行推送操作,可以使用 git branch --set-upstream-to=origin/dev dev
;如果需要同时设置追踪关系并推送分支到远程仓库,可以使用 git push -u origin dev
。