关于git checkout -b和git push的几个小问题!

1、假如现在在远程拉了代码下来,有两个分支 master和a分支,我在master分支上git checkout -b b,建一个新的b分支,和我切换到a分支上再git checkout -b b有区别吗?
2、现在在b分支上代码写完了要提交到远程仓库,git add .和git commit后是直接git push还是
git push origin b,(和git push origin b:b有啥区别?)
3、现在在b分支上代码写完了要提交到远程仓库,git add .和git commit后git push origin,和git push origin a又是什么情况?

刚学git这几点不是很懂,望大佬解答

阅读 6.9k
1 个回答

1、git checkout -b b 表示基于当前分支内容创建新分支 b 并将上下文环境切换到 b 分支。在 master 上操作,b 的内容与 master 的内容相同,在 a 上操作,b 与 a 的内容相同。
2 & 3、git push <远程主机名> <本地分支名>:<远程分支名>
git push origin b:b 表示将本地 b 分支推送到 远程 origin 主机上的 b 分支,一般情况下远程与本地的分支名称是一致的,所以 :b 都会省略,若远程不存在名为 b 的分支,则会自动创建 b 分支。

git push origin 表示将当前分支推送到origin主机的对应分支,进行 git 操作上下文环境一定是基于某个分支之上的,比如前面你已经切换到了 b 分支,然后进行操作,那么提交内容时直接 git push origin 就行了。如果远程分支已经与本地分支建立的关联,那么 origin 也可以省略,直接 git push 就可以推送当前分支了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进