博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
repo & git 的使用方法
阅读量:4284 次
发布时间:2019-05-27

本文共 1618 字,大约阅读时间需要 5 分钟。

轉載自

[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

转载地址:http://ohsgi.baihongyu.com/

你可能感兴趣的文章
EF Invalid column name 'Discriminator'
查看>>
Node.Js fs模块文件操作(一)
查看>>
Node.Js fs模块操作文件(二)
查看>>
Node.Js fs模块文件操作(三)
查看>>
Node.Js url模块详解
查看>>
Node.Js util模块
查看>>
Node.Js http模块(一)-发送http请求实例
查看>>
Node.Js cheerio模块--操作/解析Html
查看>>
Node.Js cheerio模块简单API
查看>>
C# sha1加密
查看>>
Node.Js v4.4.0版本以上支持lambda表达式
查看>>
Node.js events模块(一)事件循环
查看>>
Node.Js events模块(二)-EventEmitter自定义操作事件
查看>>
HTML5 WebSocket实例(三)-文件上传处理
查看>>
C# Newtonsoft.Json之LINQ To Json实例(一)
查看>>
Node.Js Stream(流)-(二)
查看>>
C# 常见Url操作实例(一)、正则表达式匹配URl
查看>>
C# 常见Url操作实例(二)
查看>>
C# Url操作类封装、仿Node.Js中的Url模块
查看>>
AngularJS ng-checked指令
查看>>