关于repo的一些命令
一、怎样在代码文件夹下全部git库都创建分支? repo start --all <分支名>
二、怎样删除代码文件夹下全部git库的分支? repo abandon <分支名> git
*1和2其实就是相反的动做 app
三、怎样知道代码文件夹下都改动了那些? repo diff
四、怎样把个人提交上传的gerrit上? repo upload orm
若是出现文件就把要提交的部分前面的#去掉 同步
五、不想同步全部代码,只想同步一部分? repo sync <project1> <project2>……
六、repo upload之后后悔了,须要再修改一些? it
(1)在原有分支上修改文件
(2)git commit --amend
(3)repo upload --replace <工程名>
(4)出现文件之后去掉第1行的#,中括号里面填上 change-id form
关于Git的一些命令
一、repo init的时候我没有改用户名和email,如今发现不对了怎么办? email
git config --global user.name "<your name>" ----修改用户名
git config --global user.email "<your email>" ----修改email
git config --list ----查看修改 打包
二、想查看之前都有哪些提交? git log
三、想查看之前的两次提交有什么区别? git diff <log上显示的哈希值1> <log上显示的哈希值2>
四、想查看之前代码,可是如今修改的不能动 git checkout <哈希值>
五、想回到之前,如今修改的都不要了 git reset --hard <哈希值>
六、想把本身的修改提交到本地的git库里? file
git add <文件名>
git commit -m "<注释>" 方法
七、提交之后后悔了,文件仍是要修改后的,只是不想要此次提交? git reset HEAD~1
八、提交之后发现少add了一个文件?
git add <忘记的文件>
git commit --amend
九、git add了不少文件,发现其中一个不想提交? git reset HEAD <file>
十、只想同步代码里的一个文件? git pull <file>
十一、只删除中间的一个commit对应的修改,其余不变 git revert <对应的哈希值>
关于从A代码里面打包,放到B代码的问题
两种方法:
1)在A代码里面,$git diff <起始哈希值> <终点哈希值> > A.patch
在B代码里面,$git apply A.patch
有冲突解决冲突。
打开对应修改的文件发现就已经被修改了。
--这个方法的缺点是对应A代码的commit是不会加到B代码上的。
2)在A代码里面,$git format-patch -<x> <分支名> -o <路径>
-<x>,x填一个数字,表示从倒数第几个commit开始
运行完成就能在<路径>下看见<x>个patch,对应一个commit一个patch 在B代码里面,$git am <路径>/*.patch,就把全部的patch加到B代码里面
了。 --这个方法能够把A代码里面对应的commit都加到B代码上。