Git代码防丢指南代码防丢指南
我们在日常使用Git的过程中经常会发生一些意外情况,如果处理不当,则可能会出现代码丢失的假象。本文将针对IDEA&Git
日常开发中的一些场景,为你层层拨开迷雾,解析常见的错误及其发生原因,让你从此不再惧怕代码冲突或丢失问题。
为简化问题,本文假设所有团队成员均在同一分支上开发。
文中更新操作是指在IDEA中单击菜单VCS-Update Project...。
1. 常见工作流程
通常当你早上到公司打开电脑,首先执行更新操作(单击IDEA菜单VCS-Update Project...),然后开始愉快地编码。编码完成后
通常要执行以下几个操作:
更新操作
创建本次提交
推送远程分支
1.1 更新操作
为了保证Git拥有一个简洁的提交历史,在提交之前需要先执行更新操作,即在IDEA中依次单击菜单VCS-Update Project...,
或者按下Ctrl+T,弹出如下窗口:
窗口左侧选择更新类型(Update Type):
Merge:更新时执行合并操作。等价于执行git fetch && git merge或者git pull --no-rebase。
Rebase:更新时执行rebase操作。等价于执行git fetch && git rebase或者git pull --rebase。
Branch Default:在.git/config文件中指定不同分支的更新类型。
窗口右侧选择在更新前工作目录(Working Directory)的清理方式:
Using Stash:使用git stash储藏本地修改。
Using Shelve:使用IDEA内置的Shelve功能储藏本地修改。
通常选择Merge和Using Stash即可,单击OK后,IDEA执行步骤如下:
第1步:使用git stash储藏本地修改
第2步:执行git fetch && git merge拉取远程分支并合并
第3步:执行git stash pop恢复储藏
有些同学可能更习惯先创建本地提交,然后在执行更新操作,这样会导致Git自动生成一个合并提交,导致提交历史不够简
洁。
1.2 创建本次提交
更新完成后,在IDEA中单击菜单VCS-Commit...创建本次提交。
1.3 推送远程分支
然后单击VCS-Git-Push...推送至远程分支。