android中repo和git记疑

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 save "work in progress for foo feature" // 保存缓存并命名

   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 来将栈清空


你可能感兴趣的:(git,Repo)