1、repo下的所有project执行切换分支的命令
repo forall -c git checkout 已经存在的分支名字
2、repo sync中遇到:contains uncommitted changes
进到它所提示的目录中,使用git reset --hard命令
3、提交时回退已经 git commit 的代码
git reset --soft HEAD^(把上一次commit的信息去掉,但更改并没有冲掉)
git reset HEAD^(把上一次commit的信息去掉,但更改并没有冲掉,也把代码中的更改也去掉了)
提交时只修改提交文件,不回退git commit 信息
1)如果有缓存文件,删除掉
2)重新git add 文件
3)git commit --amend
4、在repo中所有的project回退到初始值
repo forall -c git reset --HEAD
5、gedit的使用
大家在远程上使用gedit的时候,往往会生成一个带~的缓存文件,一不小心,此文件就会提交上库。
去掉此缓存文件的方法是,在gedit的edit--preferences—editor—file saving—create a backup。。。的勾去掉就行了。
6、repo切出新分支
repo start branch --all
这个命令比较简单,适合偷懒的人,但是这个命令是不会报错的,如果你有对应的分支,自然会切过去,但是如果对应工程没有那个分支,那么是切不过去的。此时就会出现误导性很强的一个错误,那就是对应的工程下出现了切换出来的同名分支。但是那是错的,那只是在你原有的分支上切出来的一个别名。而不是你想切的那个分支。
repo forall -c git chekout -bi800_DZ origin/i800_DZ
始终以远程分支来切,这样的话,远程无对应分支,那么该工程就切不过去(还在原来的分支)。并会报错,但是不会影响其余工程切换。
这样的话更容易理解。也减少了出错的机会。
7、git stash
git stash 可用来暂存当前正在进行的工作
git stash pop 和git stash apply 的区别
git stash pop 取出并删除缓存
git stash apply 取出但不删出缓存
git stash list 命令可以将当前的Git栈信息打印出来
git stash apply stash@{1}’就可以将你指定版本号为stash@{1}的工作取出来
git stash clear 来将栈清空