博客
关于我
强烈建议你试试无所不能的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://lhsgi.baihongyu.com/

你可能感兴趣的文章
Jquery Md5加密-Jquery.md5.js
查看>>
JQuery.cookie.js操作客户端cookie
查看>>
Git官网下载windows版本慢的问题
查看>>
Js 取模运算、取商、取整方法
查看>>
NodeJs开发环境之Sublime Text3
查看>>
Sublime text 2/3 [Decode error - output not utf-8] 完美解决方法
查看>>
ffmpeg ffplay ffprobe资料整理
查看>>
Sublime Text 插件之Emmet
查看>>
SublimeText插件之CodeFormatter
查看>>
Node.Js 全局对象与全局属性(一)
查看>>
Node.Js Path模块-文件或文件夹路径字符串操作
查看>>
Node.Js fs模块文件夹操作
查看>>
Bootstrap 弹出框modal上层的输入框不能获得焦点问题
查看>>
EF Invalid column name 'Discriminator'
查看>>
Node.Js fs模块文件操作(一)
查看>>
Node.Js fs模块操作文件(二)
查看>>
Node.Js fs模块文件操作(三)
查看>>
Node.Js url模块详解
查看>>
Node.Js util模块
查看>>
Node.Js http模块(一)-发送http请求实例
查看>>