高级Git命令 分支与变基与合并 命令 | 描述 | 创建一个不包含仓库完整历史的新分支。 | 从远程分支获取当前提交的时间线,并将本地分支的最新提交应用到其上。 | 交互式变基,从指定的父提交开始,其中 指定父提交。 | 使用 策略从远程仓库拉取更改。默认为 。 | 类似于上述命令,但在分支处于脏状态时自动stash和pop未提交的更改。 | 将任何分支的提交更改应用到目标分支。 | 设置特定分支始终使用 策略。 修复错误与破坏性操作 命令 | 描述 | 将本地分支重置为远端分支的状态。注意:你的本地更改将会丢失。 | 撤销最近的本地提交。如果需要保留更改,可以使用 标志;如果不保留更改,可以使用 而不是。注意,后者是一个破坏性的命令。 | 修改最近的提交。
| 命令 | 描述 |
|---|---|
git checkout [branch name] --orphan |
创建一个不包含仓库完整历史的新分支。 |
git rebase [source branch] [target branch] |
从远程分支获取当前提交的时间线,并将本地分支的最新提交应用到其上。 |
git rebase -i [commit hash]^ |
交互式变基,从指定的父提交开始,其中 [commit hash]^ 指定父提交。 |
git pull origin [source branch] --rebase |
使用 rebase 策略从远程仓库拉取更改。默认为 merge。 |
git pull origin [source branch] --rebase --autostash |
类似于上述命令,但在分支处于脏状态时自动stash和pop未提交的更改。 |
git cherry-pick [commit hash] |
将任何分支的提交更改应用到目标分支。 |
git config branch.[branch name].rebase true |
设置特定分支始终使用 rebase 策略。 |
| 命令 | 描述 |
|---|---|
git reset --hard origin/[target branch] |
将本地分支重置为远端分支的状态。注意:你的本地更改将会丢失。 |
git reset --soft HEAD~1 |
撤销最近的本地提交。如果需要保留更改,可以使用 --soft 标志;如果不保留更改,可以使用 --hard 而不是。注意,后者是一个破坏性的命令。 |
git commit --amend |
修改最近的提交。可用于编辑提交信息或向该提交添加更多文件。注意,这会改变提交哈希,因此仅在尚未推送到共享分支时使用。 |
git revert HEAD~1 |
创建一个新的提交来撤销上一个提交的更改。 |
git reflog |
列出所有之前执行过的git操作。有助于找到丢失的提交,然后尝试恢复它。 |
git bisect start |
用于查找导致问题的可疑提交(可能引入了一些bug)。之后,使用 `git bisect [good |
git branch --merged | egrep -v "(*|master|dev)" | xargs git branch -d |
删除已合并的分支,但 master and dev in this example. |
git clean -df |
Remove untracked files and directories from the working tree. Add n 以列出所有将要删除的文件。 |
声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。