完整版大家自己网上找,一大堆。
这是自己工作中实际碰到又不熟悉的一些指令,就是 易错点记录嘛。
查看远程的分支
git ls-remote
将远程的分支弄到本地
git checkout -b xxx origin/xxx
git pull
或者
git checkout --track origin/xxx
删除所有untracked文件夹和文件
git clean -fd
本地rm掉文件,如何恢复
svn可以通过svn update实现,git的方法不一样:
git checkout - - xxx.file
(-- 的含义是后面接的是文件名。举例,一个文件被命名为master,那么git checkout master,无法区分是切换到master分支还是master文件,因此,加入-- 进行区别)
增加文件的执行权限
git ls-files --stage xxx.sh (查看权限,可选)
chmod a+x xxx.sh (注意,这个需要做,stackoverflow的没有提到这步)
git update-index --chmod=+x xxx.sh
git commit 即可
快速解决冲突
git checkout --ours xxx.file (–theirs)
多文件时
grep -lr '<<<<<<<' . | xargs git checkout --ours
英文显示
export LANGUAGE=en_US.UTF-8
错误git push到远程仓库的回退
git revert commit-id
commit-id是上次错误提交的id,执行后,git仓库会新增一次提交,新提交的内容是上一次的内容(回退成功)。
checkout远程分支
git checkout -b xxx origin/xxx
gerrit评审通过但是出现“cannot merge"
通过cherrypick来解决(将当前commit-id放到前面)
git恢复操作
git的操作会被记录,git reflog可以查看不同步骤的commit-id,找到对应id,git reset 恢复即可
git rebase的操作放弃
git rebase --abort
git清理untrack的文件夹和文件
git clean -df
让本地分支和远程分支一样
git fetch origin
git reset --hard origin/xxxx