您的位置:首页 > 其它

repo & git 的使用方法

2015-08-11 18:34 399 查看

轉載自

[Coding] repo & git 的使用方法

開頭先來講幾個重要的觀念:

1.    Android是一個workspace裡面會包含很多project,repo主要針對android這個大workspace,而git則是針對每個project操作;所以repo的操作,都可以細化成許多對個別project的git操作喔。

2.    任何的修改,都需要對應一個branch,不過這裡的branch代表的是一個change需求,而不是以前認為的SVN path。因此,branch可以是new feature,也可以是bug fix。在repo & git的概念裡,任何的改動都是因為有改動的需求,所以必須先切換到某個branch(改動需求)上,才可以把改動的東西放上gerrit server喔。

實做上,比較謹慎的人可以自己建立很多branch用來做不同的工作;也可以只建立一個branch,然後都用這個branch做commit的動作。

3.    git這套version control機制,不同於以往SVN,commit以後就到server上了;他有個local commit (staging)的概念。所有的改動應該先做local commit,成為staging狀態,之後才能commit到gerrit server。請看下圖,任何的修改都得先做local commit以後,才能commit到gerrit上。





講完重要的觀念後,下面就是一些實務上常用到的command,提供參考: (還有很多command,其實只要在android下打repo或者是在project下打git都可以看到用法的介紹了)

=======同步Server上的改動**=============

**

        repo sync

or

        repo sync [PROJECT]               --> 針對特定project

=======revert還沒stage的改動**======

**

        cd [PROJECT]

        git checkout [FILE_NAME]      --> 針對特定檔案revert

or

        git reset --hard HEAD           --> 針對一整個project的改動全部都revert

=======revert已經stage的改動**======

**

        cd [PROJECT]

        git reset HEAD [FILE_NAME]

=======如何退掉commit的改動**==========

**

        git reset --soft HEAD^

=======Branch相關操作**=================

**

每次當要改動的時候,就得需要建立一個新的branch

        git branch [BRANCH_NAME]

一次把所有project都建立branch

        repo start [BRANCH_NAME] --all  

       

如果要切換到別的branch

        git checkout [BRANCH_NAME]

一次把所有project都切換到別的branch

        repo forall -c git checkout [BRANCH_NAME]

       

要查詢目前local有建立了多少branch

        git branch

or

        repo branch

======列出修改了哪些檔案**==============

**

        repo status

======把新增的檔案和修改的檔案加入**stage========

**

        cd [PROJECT]

        git add [FILENAME] [DIR_NAME]

        git commit      

注意: git commit之後需要填note,第一行為Summary,然後空一行,第三行以後則是Detail

======上傳已經stage的改動到**gerrit====

**

        repo upload
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: