移除代码仓中的临时文件
git clean
可用于移除未被 git
索引的临时文件,例如编译过程中生成的一些临时文件。
-d
选项,递归删除;-f
选项,强制删除;
同步远程分支代码
- 添加远程分支
git remote add upstream https://github.com/xxx/xxx.git
之后,可以通过 git remote -v
来查看是否添加成功。
- 拉取远程分支
git fetch upstream
- 切换到本地 repo 的主线分支
git checkout master
- 同步远程分支的修改
git merge upstream/master
或者
git rebase upstream/master
撤销文件的部分修改
有时候,在修改代码的过程中,编辑器的 auto-format
功能会自动修改一些格式。本来,也许只有一行代码是需要修改的,但是 auto-format
之后,却好像修改了很多内容。遇到这种情况,可以使用 git checkout
撤销掉这些 auto-format
引入的修改,仅保留需要的修改。
git checkout --patch -- <path argument>
撤销 Git Add 操作
如果不小心进行了 git add
操作,可以通过如下命令撤销:
git reset
使用 Git Reset 重新生成一个 Commit 点
有时候,频繁地修改代码,并同步主线分支的代码,这样操作会产生很多的 Commit 点,进而产生很多冗余的 Commit 信息,显得很不整洁,如果要撤销合入的代码,也变得很不方便。在编程实践过程中,我摸索出了一种方法,使用 git reset
重新生成 Commit 点。
首先,基于已经修改好的分支 has-changes
,创建一个临时分支,名叫 deleteme
:
git checkout -b deleteme has-changes
之后,在 deleteme
分支下,基于要合入的目标分支 need-changes
,做 git reset
操作:
git reset --soft need-changes
最后,使用 git commit
生成新的 Commit 信息:
git commit
这样,就重新生成了一个 Commit 点,记得按照格式要求,认真填写 Commit 信息,就可以了。