git常见问题汇总-重复提交/删除已提交文件等问题
git常见问题汇总:
1,已经commit的文件需要修改 /删除,应该怎么处理?
2,自己建的分支“branch1”显示“rebasing branch1”,这是什么情况?
3,由于内容修改/优化,在同一个分支里多次提交代码,如何合并成一次commit,并将之前多次提交废弃?
4,Vim编辑-保存并退出操作
5,当提示“error: cannot rebase: You have unstated changes. error: Please commit or stash them.”错误情况,应该怎么处理?
1, 已经commit的文件需要修改 /删除,应该怎么处理?
commit and push了多个文件后,发现某个文件上传错误或者需要修改时。有一下两种处理方法:
方法1: 删除文件:
git rm <file_to _remove> 或者 直接在文件夹中删除。(切记再次提交时,需要选上要删除的文件,这样删除功能才能实现)
方法2: 修改文件:
正常修改文件内容,重新commit即可
2, 自己建的分支“branch1”显示“rebasing branch1”,这是什么情况?
显示“rebasing branch1”表示你的分支正在合并多个commit内容,如果你要停止该操作,执行下面代码即可:
git rebase --abort
3, 由于内容修改/优化,在同一个分支里多次提交代码,如何合并成一次commit,并将之前多次提交废弃?
- 第一步:git rebase -i HEAD~4(假设你需要合并最近4次commit);
- 第二步:从第2次(显示的第2个)commit开始,修改pick为squash(第一次修改),然后退出vim编辑并保存,再次修改commit(第二次修改,删除squash的那些commit所提示的内容,只保留第一次的commit信息),最后保存退出;
- 第三步:git push --force(提交这次的更改)。
4, Vim编辑-保存并退出操作
- 第一步:修改完内容后,按Esc键,确保处于命令模式;
- 第二步:同时按shift键和:键;
- 第三步:输入wq,表示保存并退出,然后按Enter键。
(输入q!,表示不保存,且强制退出)
5, 当提示“error: cannot rebase: You have unstated changes. error: Please commit or stash them.”错误情况,应该怎么处理?
该错误提示表示,你在进行rebase操作时,有更改的文件没有在本次提交中,需要全部提交或者暂存。
5.1 提交更改:
git add . (将该目录下的所有更添加到暂存区。git add file1.txt file2.txt 将指定文件添加到暂存区)
git commit -m 'your commit message' (将暂存区所有文件提交到本地版本库)
5.2 暂存更改:
git stash (将所有更改为提交的代码暂存)
(在rebase完成之后,需要释放个更改:git stash pop)
(“Your dreams truly matter; pursue them with relentless passion every day. -你的梦想至关重要,每天都要以不懈热情去追求。
”FIGHTING. . . .)