创建并切换到新分支(此时新分支代码与develop分支代码一致)
git checkout -b feature-username-*
将本地分支推送到远程
git push origin feature-username-*:feature-username-*
关联远程分支为上游分支
git branch --set-upstream-to origin/feature-username-*
编写需求代码……,在提交前进行rebase
操作
git rebase develop
这里也可以选择git merge develop
然后提交代码
git push
提交代码后在http://gitlab.qianyi.ai/对应仓库对应分支上进行merge
提交
merge之后就可以删除掉本地创建的新分支
在rebase
的过程中,也许会出现冲突(conflict)。在这种情况,Git会停止rebase
并会让你去解决冲突;在解决完冲突后,用”git add
“命令去更新这些内容的索引(index), 然后,你无需执行 git commit
,只要执行:
git rebase --continue
git branch --set-upstream-to origin/develop
这样git会继续应用(apply)余下的补丁。
在任何时候,可以用--abort
参数来终止rebase
的操作,并且”mywork
“ 分支会回到rebase
开始前的状态。
git rebase --abort
创建并切换到新分支(此时新分支代码与develop分支代码一致)
git checkout -b feature-username-*
将本地分支推送到远程并关联远程分支为上游分支
git push origin feature-username-*:feature-username-*
编写需求代码……
当代码需要提交时,一定要先merge
一下develop
分支的代码,因为此时新分支feature-username-*
下的其他代码不一定和develop
分支下面的一样,可能在我们编写代码期间develop
还发生过其他merge
,操作方法如下:
将本地分支的上游分支切换为develop
然后拉取代码
git pull
拉取代码后如果有冲突及时解决冲突,然后再将上游分支切换为feature-username-*
git branch --set-upstream-to origin/feature-username-*
然后提交代码
git push
提交代码后在http://gitlab.qianyi.ai/对应仓库对应分支上进行merge
提交
merge之后就可以删除掉本地创建的新分支
创建本地新分支
git branch feature-username-*
切换到本地刚创建的新分支
git checkout feature-username-*
将本地分支推送到远程并关联远程分支为上游分支
git push origin feature-username-*:feature-username-*
将本地分支与远程分支关联(确定本地分支的上游分支)
git branch --set-upstream-to origin/feature-username-*
本地代码修改后提交
git push
删除本地分支
git branch -d [branch name]
删除远程分支
git push origin :[branch name]
查看远程分支与本地分支的对应关系
git remote show origin
移除已经删除但本地还能查看到(git branch -a)的远程分支
git remote prune origin
git config --global user.name "Your Name" git config --global user.email "email@example.com"
git status
git diff "file name"
git log #仅查看重要信息 git log --pretty=oneline
#回退/恢复到指定版本
git reset --hard 版本号前几位
#回退到前一版本
git reset --hard HEAD
#回退到前前一版本
git reset --hard HEAD^
#回退到前前前一版本
git reset --hard HEAD^^
#回退到前几版本
git reset --hard HEAD~n
git reflog
git checkout -- filename
git diff HEAD -- filename
git reset HEAD filename
git log --graph --pretty=oneline --abbrev-commit
git stash git stash list
#弹出并删除贮藏
git pop
#应用列表内的第几个贮藏
git stash apply number
#删除第几个贮藏
git stash drop number
git cherry-pick 分支号
git remote -v
暂时无法在飞书文档外展示此内容
git submodule update --init
#递归初始化子模块(如果子模块还包含子模块)
git submodule update --init --recursive