git fetch --all
git reset --hard origin/master
git add
,但是尚未提交)git reset HEAD file
git checkout -- file
git archive --format zip --output "../e-business.zip" master -0
这里的-0表示不压缩
git submodule add [子模块地址]
git submodule update --recursive --init
git submodule deinit asubmodule
git rm asubmodule
git rm --cached asubmodule
rm -rf .git/modules/asubmodule
git submodule update --remote
有时候新增了文件,文件已经被git缓存,但是并没有提交,这时候希望不提交该文件,将其加入到.gitignore
文件中,问题是此时再git status
,会发现该文件还是在列表中,可以用下列命令将文件缓存清除,解决该问题。
git rm 要删除的文件 --cached
参考自 Stackoverflow
如果你不慎忘记切换到master分支,又做了提交,可以用cherry-pick命令挽救。
具体做法如下:
git checkout master
将 HEAD 从游离状态切换到 master 分支, 这时候,git会报Warning说有一个提交没有在branch上,记住这个提交的change-id(假如change-id为 aaaa)git cherry-pick aaaa
来将刚刚的提交作用在 master 分支上git push
将更新提交到远程版本库中get remote set-url origin URL
提交的时候注释写错了怎么修改?使用git commit --amend
命令
git commit --amend