最终板整体流程做法:
创建并切换到新分支(此时新分支代码与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全局配置帐号和密码
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命令
git reflog
撤销工作区的修改(撤销同暂存区或者版本库一样,根据之前的操作判断)
git checkout -- filename
查看当前版本库与本地文件得不同
git diff HEAD -- filename
Git add到暂存区的内容如何回退
git reset HEAD filename
使用命令行查看git历史提交图
git log --graph --pretty=oneline --abbrev-commit
git储藏当前修改
git stash git stash list
#弹出并删除贮藏
git pop
#应用列表内的第几个贮藏
git stash apply number
#删除第几个贮藏
git stash drop number
git复制一个特定的提交到当前分支
git cherry-pick 分支号
查看远程分支库信息
git remote -v
四、帮助文档
暂时无法在飞书文档外展示此内容
五、子模块的引入和使用
初始化子模块
git submodule update --init
#递归初始化子模块(如果子模块还包含子模块)
git submodule update --init --recursive
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!