忘记提交了啥
你用 git commit -m
提交了一次变化(changes),你可以用git show
命令显示当前HEAD
上的最近一次的提交(commit):
$ git show
提交 commit 信息( commit message )写错了
如果你 commit 信息写错了,但还没有推( push ), 可以通过下面的方法来修改提交信息(commit message
):
git commit --amend --only
也可以用一条命令:
代码语言:javascript复制git commit --amend --only -m 'xxxxxxx'
从一个提交( commit )里移除一个文件
代码语言:javascript复制git checkout HEAD^ myfile
git add -A
git commit --amend
把未暂存的内容转到一个新分支
直接新建就可以了
代码语言:javascript复制git checkout -b my-branch
把未暂存的内容移动到另一个已存在的分支
代码语言:javascript复制git stash
git checkout my-branch
git stash pop
我不小心删除了我的分支
如果你定期推送到远程, 多数情况下应该是安全的,但有些时候还是可能删除了还没有推到远程的分支。
你应该想起了reflog
, 一个升级版的日志,它存储了仓库(repo)里面所有动作的历史。
正如你所见,我们有一个来自删除分支的提交hash(commit hash),接下来看看是否能恢复删除了的分支。
我想撤销rebase/merge
你可以合并(merge)或rebase了一个错误的分支, 或者完成不了一个进行中的rebase/merge。Git 在进行危险操作的时候会把原始的HEAD保存在一个叫ORIG_HEAD的变量里, 所以要把分支恢复到rebase/merge前的状态是很容易的。
代码语言:javascript复制(my-branch)$ git reset --hard ORIG_HEAD
暂存指定文件
假设你只想暂存某一个文件
代码语言:javascript复制git stash push working-directory-path/filename.ext
我有个大胆的想法
小伙伴在平常有没有遇到以下这种情况:遇到技术难题时,网上教程一堆堆,优秀的很多,但也有很多是过时的,或者是copy来copy去,甚至错别字都没改。