...
左边的develop是指定本地的分支名称,右边的develop指定的是远程origin上的分支名称,如果远程没有develop分支,则会自动创建远程分支。
上面即可以在检出develop之后修改提交再push,也可以先在本地master分支上修改提交,然后检出develop分支,再push。
gitlab上提交合并申请时勾选合并后删除分支选项,避免分支一支留存。
...
上面既可以在检出develop之后修改提交再push,也可以先在本地master分支上修改提交,然后检出develop分支,再push。
注意,上面的push并不会将本地的develop分支与远程的develop分支建立关联,如果要建立关联,可以在push时执行--set-upstream选项,或者事后执行以下指令:
代码块 |
---|
git branch --set-upstream-to=origin/develop |
警告 |
---|
git push origin A:B 这种形式,如果只提供A,那么A表示的是远程分支,也就是只会推送与远程分支A关联的本地分支,而不是将当前分支推送给远程分支A。 |
警告 |
---|
考虑git config --global pull只拉取当前分支 |
gitlab上提交合并申请时勾选合并后删除分支选项,避免已经合并过的分支一直留存。
合并通过后本地执行get remote prune命令把失效的远程分支删除。
如果要取消本地develop分支与远程develop分支的关联,可以执行下面的指令:
代码块 |
---|
git branch --unset-upstream develop |
git reset --hard commitid 强制回滚到某个版本。
替换远程仓库操作记录:
代码块 |
---|
git remote remove origin
git remote add origin git@github.com:zhongluqiang/sylar-from-scratch.git
git branch --set-upstream-to=origin/main main |
操作记录:
A端,master分支:
代码块 |
---|
git add *
git commit -m "xx"
git push origin master:develop # 将本地的master分支推送到远程的develop分支,如果远程没有这个分支,则自动创建 |
B端,master分支:
代码块 |
---|
git pull
git checkout -b develop origin/develop # 检出刚才提交的develop分支
git checkout master # 切回master分支
git merge develop --no-commit --no-ff # 将develop分支的内容合并到master分支上,但不自动提交,也不自动fast-forward,效果就是这次提交的内容只被暂存了,可以继续修改和重新提交 |