Open nicejade opened 7 years ago
Problem:You have not concluded your merge (MERGE_HEAD exists) Solve:
git merge --abort [Since git version 1.7.4] git reset --merge [prior git versions]
如果所有更改,没有加入暂存区的话,可以:
git checkout . && git clean -xdf
如果你有的修改以及加入暂存区的话,那么 :
git reset --hard
git clean -xdf
在 Mac必备软件渐集之ZSH-终极Shell 一文的评论 issues37 中有强求的推荐使用 oh-my-zsh
;
如果您使用了她,那么这份 git.plugin.zsh 配置, 对你来说,肯定也会是让你欣喜的礼物 ✅✔️✅。
git checkout --
git reset HEAD
...
git commit --amend
git reset HEAD^
git reset HEAD^ xx.py
git reset –soft HEAD~3
git reset –hard origin/master
git reset 057d
git revert HEAD
为防止一个git仓库由于各种原因造成无法访问,可以将代码push到多个仓库。编辑本地仓库目录下面的 .git 目录下的 config 文件(命令:vim ./git/config
)。添加类如以下命令:
[remote "all"]
url = git@github.com:licess/licess.git
url = git@gitcafe.com:licess/licess.git
再 push 时,运行如下命令即可:
git push all master
Git 共有三个级别的 config文 件,分别是 system、global和 local。可以使用 git config --list | grep user
(windows 需用 sls 替换 grep)来查看配置;当 git commit
时,Author 信息依次读取local、global和system的配置,如果找到则不再继续读取。其他配置的读取顺序也是如此。更改配置可运行:git config --local user.name your-name
,更多详情可查看 这里。
Git 删除某次错误的提交以及记录?
git reset --hard <commit_id>
git push origin HEAD --force
删除 .git
文件夹可能会导致您的 git 存储库中的问题。如果要删除所有提交历史记录,但将代码保持在当前状态,则执行以下操作非常安全:
git checkout --orphan latest_branch
git add -A
git commit -am "commit message"
git branch -D master
git branch -m master
git push -f origin master
PS:这不会保留你的旧的提交历史; 详情参见 how to delete all commit history in github? [duplicate]。
git filter-branch --commit-filter '
if [ "$GIT_AUTHOR_EMAIL" = "your-secret-email" ];
then
GIT_AUTHOR_NAME="your-can-be-known-name";
GIT_AUTHOR_EMAIL="your-can-be-known-email";
GIT_COMMITTER_NAME="your-can-be-known-name";
GIT_COMMITTER_EMAIL="your-can-be-known-email";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD
https://jeffjade.com/2014/12/22/2014-12-22-gitmemo/