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这几点不是很懂,望大佬解答
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
就可以推送当前分支了。