repo用法(转载)

http://blogold.chinaunix.net/u3/93255/showart_2489270.html 

关于repo的一些命令 
1、怎样在代码文件夹下所有git库都建立分支? repo start --all <分支名>
2、怎样删除代码文件夹下所有git库的分支? repo abandon <分支名>

*1和2其实就是相反的动作

3、怎样知道代码文件夹下都改动了那些? repo diff
4、怎样把我的提交上传的gerrit上? repo upload

如果出现文件就把要提交的部分前面的#去掉

5、不想同步所有代码,只想同步一部分? repo sync <project1> <project2>……
6、repo upload以后后悔了,需要再修改一些?

(1)在原有分支上修改文件
(2)git commit --amend 
(3)repo upload --replace <工程名>
(4)出现文件以后去掉第1行的#,中括号里面填上 change-id


关于Git的一些命令 
1、repo init的时候我没有改用户名和email,现在发现不对了怎么办?

git config --global user.name "<your name>" ----修改用户名
git config --global user.email "<your email>" ----修改email
git config --list ----查看修改

2、想查看以前都有哪些提交? git log
3、想查看以前的两次提交有什么区别? git diff <log上显示的哈希值1> <log上显示的哈希值2>
4、想查看以前代码,但是现在修改的不能动 git checkout <哈希值>
5、想回到以前,现在修改的都不要了 git reset --hard <哈希值>
6、想把自己的修改提交到本地的git库里?

git add <文件名>
git commit -m "<注释>"

7、提交以后后悔了,文件还是要修改后的,只是不想要这次提交? git reset HEAD~1
8、提交以后发现少add了一个文件?

git add <忘记的文件>
git commit --amend

9、git add了很多文件,发现其中一个不想提交? git reset HEAD <file>
10、只想同步代码里的一个文件? git pull <file>
11、只删除中间的一个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代码上。

posted on 2011-05-25 10:44  CGDeveloper  阅读(6405)  评论(0编辑  收藏  举报

导航