git repo使用心得

时间:2022-03-16 16:37:18

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,将第二个pick改为s,如下
pick 0b92779 Test commit two
s 9d80074 rebase test
esc :wq保存变更
弹出一个界面,删除后面一个 Change-Id(dd操作,删除整行)
esc:wq保存变更
然后repo upload上传修改后的代码就完成了所有提交过程了,完全通过后就进行一次repo sync同步一下远程仓库代码,记住要经常用git status,或者repo status命令,每次做修改前一定要有第4步操作。
 
 
接下来介绍如果git完全不能提交使用了情况下的解决办法,经常因为没开分支造成;
把自己修改后的代码先备份出来,接下来repo sync把远程代码库中最新的代码同步下来,然后用备份的代码覆盖这些最新代码,如此操作后使用git status就会发现自己修改了的代码,然后在IDE工程中看与远程最新版本代码有什么不同,把远程代码中有,而自己当前代码中没有的加上,然后进行正常的提交过程就OK了,为什么这样大家想想就明白了相当于在最新版本代码上做了修改。
 
这些只是Git中最基本的操作流程,希望对刚刚使用git的同学有所帮助