0、首先上code步骤:
(1)git add filename
(2)git commit 然后填写message
(3)git push asop HEAD:refs/for/remote branch name (git branch -r 打印remote branch name)
asop:remote name
HEAD : current branch
1、修改之后,保存一份,回滚到上一个版本,比较如果没有变化,那么自己修改之前没有人merge过,可以直接merge,否则要抓最新的code,修改之后才能merge
2、明确要抓最新的code里修改的话,可以在用git status查看自己修改的部分,那么可以直接在最新版的code改变这些自己修改过的文件夹即可
3、代码格式问题:如果提示^M(在windows编译过的文件move到linux一般都有),在终端上敲dos2unix filename 最简单。
另外附上其他详细做法:click
4、代码格式问题:如果提示有trailing space,那么也有很多做法,我的解决方法在source insight解决的:
在options-〉preferences->file->remove extra space while saving 打勾,这样在对某个文件选择保存之后,你会发现之前的行末空格或者整行空格都消失了
5、代码格式问题:如果是有tab键之前还未设置为空格的话,首先要设置:
options->document options->expand tab打勾,visual tabs打勾,tab width设置为你想要的宽度,我一般设置为4个。
然后需要将当前的tab键转为空格的话:edit->special edit ->tabs to spaces,就ok了。
其实我试过了,如果tab键没有设置以空格代替的话,那么使用4的做法是无法把代码前面tab键去掉,还需要使用edit的做法,但是这样相对来说比较麻烦。
也就是说最好的code习惯是:
设置空格代替tab键(5),然后也设置保存好删除无效的空格(4),这样的话,code里面没有tab键,而且行末没有空格和整行空格的问题
6、上code之后,发现格式错误或者其他代码错误或者review没通过,那么就
(0)modify
(1)git status
(2)git add filename
(3)git commit --amend
然后填message
(4)git push asop HEAD:refs/for/remote branch name (git branch -r 打印remote branch name)
git push <远程主机名> <本地分支名>:<远程分支名>
asop:remote name
HEAD : current branch
7、在网站关注commit 的情况,可以打开build过的文件,点开可以查看相应的格式问题,如果现实merge conflict的话,那么点开该change,然后选择rebase。注意如果没有build过的话就要abandon该change。
如果在changes点击该project可以查看该路径的commit之后的review的历史情况
8、已经push过的然后commit --amend的如果发生冲突可以rebase,那么rebase的原理是什么呢?
rebase就是把一个分支的修改合并到当前的分支
但是如果在push过程中发生了confilct呢?
那么应该pull下来,让把自己的文件整个覆盖掉该项目,然后git diff,这样对不同的文件再进行修改,修改完之后add,commit。修改可以利用vim也可以在windows下修改,使用beyond compare这个软件。当然是把自己修改的文件往工作区的文件粘贴或者覆盖,因为工作区的文件才是远程分支中最新的文件。
9、push发生冲突还可以这样,先在本地A 分支中pull下最新的内容,然后在本地B分支准备好自己的修改的文件,然后在A分支下git merge B。发生冲突之后:git status显示发生冲突的文件;
然后修改冲突,之后add 修改的文件,commit 修改的文件
merge完之后,最好在debug一遍确认没有问题之后,push即可
10、补充下怎么pull code。
第一种方法:
git checkout -b newmm --track aosp/mstar-dev
表示该newmm分支追踪远程 aosp/mstar-dev分支,如此,git pull参数都不用了
然后git pull
$ git pull <远程主机名> <远程分支名>:<本地分支名>
如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git checkout -b newmm
git pull aosp/mstar-dev