git是相当与svn,cvs等的版本控制工具,repo封装了对git的操作,使git命令更简单化,
在使用git时,用了repo,Windows下开发,使用的是Cygwin工具,这个比git的bash更好使用。使用git一定要明白,add,commit操作都不会影像远程代码仓库,只有push了才会将代码推送到远程仓库,比svn多了一步;下面以本人的操作为例:
1. mkdir gitlearn
2.cd gitlearn
3.repo init -u ssh://xxx -m xxx.xml 拉取远程代码
这个其实就相当于git的这两部操作:
git init
git clone git@github.com:wufengxyz/hellogit.git 这个是我在github上的一个仓库,这个网站也提供学习git的指南
4.repo start xxx <project..> 创建分支,在project工程上,可以是多个工程,这些工程是自己将要修改的,在Git使用中一定要开分支,不然冲突了就无法解决,
这个相当与git branch XXX(分支名 ) git checkout XXX,创建分支,切换到这个分支(repo可以操作多个工程、模块,而git是单工程的)
5.进入一个开了分支的工程,git branch -a,查看是否在分支上
6.git status,一定要多用次命令,查看修改等状态
7.开始在分支上修改,添加操作等等操作
8.修改过了代码,接下来使用
git add .
git commit -m "bug修复"
9.接下来可以同步远程代码了
repo sync xxx(工程名)
10.现在远程代码已经被down下来了,相信大家都只要会有冲突出现可能
有冲突修改,修改后使用git rebase --continue这样就相当于把这些修改合并到了上次冲突的提交中了
11.repo upload 这步操作是将代码推送到远程代码审核仓库,我们的leader会review我们的代码,通过了这次开发任务完成,不通过继续修改
12.review不通过要执行以下操作,这里要注意,我们的代码已经提交到远程仓库了,这是跟git rebase操作的一个区别
修改不通过的代码......修改完成后,git add .,git commit -m "xxx"完成一次commit了,接下来使用
git rebase -i HEAD~2
弹出一个界面
pick 0b92779 Test commit two
pick 9d80074 rebase test
pick 0b92779 Test commit two
s 9d80074 rebase test
Change-Id(dd操作,删除整行)