文件管理
1.工作区->暂存区
git add <file>
git stage
2.暂存区->版本库
git commit -m "描述"
git commit --amend //和上一次的提交合并
3.工作区->版本库
git commit -a
4.暂存区->工作区
git checkout <file>
- 工作区的修改会被覆盖
- 工作区新增的文件不会被删除
5.版本库->暂存区
git reset <file>
git reset --mixed HEAD <file>
- 暂存区中的数据会被覆盖
- 工作区中的数据不受影响
6.版本库->工作区
git checkout HEAD <file>
- 工作区和暂存区都会被覆盖
查看历史
git log
:查看当前HEAD的历史
git reflog
:查看所有的操作历史
当前在origin/develop分支对应的本地分支下工作,要修改即将发版的origin/release分支上的bug:
checkout origin/release
:会在本地创建一个对应的分支“release”- 在上面修改
git push HEAD:origin/release
:将其提交到远程的release分支
完成功能a并push到远程,然后完成功能b并push到远程,此时需要修改功能a:
- 修改完成后
commit
git rebase -i HEAD~3
:会在vim打开当前head之前到三次commit,此时最下面的是最新的提交,- 将第三行调到第二行:dd剪切当前行,p将粘贴板复制在当前行的下一行
- 将第三行开头的commit改成fix
- wq退出
先完成功能a,合到远程,然后完成功能b,合到远程,此时这两个功能不需要发版,要从远程库撤回
- revert功能b,再次提交
- revert功能a,再次提交
- revert “revert a”
- revert “revert b”
- 等到要发版在把这两个revert提交