Git 笔记

Posted on By Qinggai Huang

git reset –soft HEAD^

撤销前一次commit,回到commit前的编辑状态

git reabse –interactive

修改xxx commit 之后的commit 信息 git rebase xxx –interactive 之后要修改的commit前面改成 reword

git checkout


git checkout -b newBranchName remoteBranchName

.gitignore

首次添加.gitignore,需要新建一个文件,并把文件的权限设置为可执行:chmod 777 .gitignore
然后

git rm -r --cached .
git add .
git commit -m 'commit msg'

注意点:如果没有设置权限.gitignore是失效的,如果设置了权限,没有清缓存,也是失效的。

push patch closed

向远程推送patch的时候,碰到change XXXXX closed的提示。
先去remote网站根据XXXXX找到被closed的patch,然后git format-patch保存被close的patch,然后reset到close的patch,删除change-id,自动重新生成change-id后就OK了。

git fsck

git fsck --lost-found 可以用于找回没有commit,然后被reset了的文件。

unable to update local ref

问题:
error: unable to resolve reference refs/remotes/origin/LT558-optimize-sql: No such file or directory
From git+ssh://remoteserver/~/misk5
! [new branch] LT558-optimize-sql -> origin/LT558-optimize-sql (unable to update local ref)
error: unable to resolve reference refs/remotes/origin/split-css: No such file or directory
! [new branch] split-css -> origin/split-css (unable to update local ref)

$ git gc --prune=now
$ git remote prune origin