九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Repo和Git 版本管理常用命令

http://zyueqi.iteye.com/blog/1461466

Git命令快速參考

Git Command Quick Reference
本附錄為Git常見命令快速參考。每節(jié)介紹一種操作類型。
這里會列出很多命令,而相應(yīng)的解釋卻不多。對于還不熟悉Git的讀者,可回頭翻閱第1章“Git的版本控制之道”(第3頁)。

A.1安裝和初始化
Setup and Initialization

在使用Git之前,須要先進行配置。在使用一個新的版本庫之前,須要先初始化。本節(jié)介紹與Git設(shè)置和初始化相關(guān)的命令。

配置全局用戶名和電子郵件地址
prompt> git config --global user.name "Your Name"
prompt> git config --global user.email "wuhua0904@126.com"
為特定的版本庫配置用戶名和電子郵件地址

注意:你可以為每個版本庫單獨設(shè)置用戶名和郵件地址。這使得用戶可在不同項目中使用不同的用戶名和/或不同的郵件地址。

prompt> cd /path/to/repo
prompt> git config user.name "Your Name"
prompt> git config user.email wuhua0904@126.com

在命令行中使用不同顏色顯示不同內(nèi)容
prompt> git config --global color.ui "auto"

初始化新版本庫
prompt> mkdir /path/to/repo:
prompt> cd /path/to/repo
prompt> git init
Initialized empty Git repository in /path/to/repo/.git/
prompt>
... create file(s) for first commit ...
prompt> git add 
prompt> git commit -m 'initial import'
Created initial commit bdebe5c: initial import. 

1 files changed, 1 insertions(+), 0 deletions(-)

create mode 100644 <some file>

克隆版本庫
prompt> git clone <repository url
Initialize repo/.git
Initialized empty Git repository in /work/<remote repository>/.git/

將目錄中的內(nèi)容納入Git版本控制
prompt> cd /path/to/existing/directory
prompt> git init
Initialized empty Git repository in /path/to/existing/directory/.git
prompt> git add .
prompt> git commit -m "initial import of some project"

在本地版本庫中設(shè)置遠程版本庫的別名
... from within the repository directory ...
prompt> git remote add <remote repository> <repository url>


A.2 日常操作
Normal Usage

本節(jié)列出Git日常操作命令,對應(yīng)于第4章“添加與提交:Git基礎(chǔ)”(第41頁)。

添加新文件或暫存已有文件上的改動,然后提交
prompt> git add <some file>
prompt> git commit -m "<some message>"

暫存已有文件上的部分修改
注意:[...]表示可選參數(shù)。

prompt> git add -p [<some file> [<some file> [and so on]]]
選擇要提交的文本塊……

使用交互方式添加文件
prompt> git add -i

暫存已納入Git版本控制之下的文件的修改
prompt> git add -u [<some path> [<some path>]]

提交已納入Git版本控制之下的文件的所有修改# s"
prompt> git commit -m "<some message>" -a

清除工作目錄樹中的修改
prompt> git checkout HEAD <some file> [<some file>]

取消已暫存但尚未提交的修改的暫存標識
prompt> git reset HEAD <some file> [<some file>]

修復(fù)上一次提交中的問題

改動相關(guān)文件,并暫存……
prompt> git commit -m "<some message>" --amend

修復(fù)上一次提交中的問題,并復(fù)用上次的提交注釋
prompt> git commit -C HEAD --amend


A.3 分支
Branches
分支是Git的強項之一。本節(jié)介紹關(guān)于分支的各個命令。詳細內(nèi)容見第5章“理解和使用分支”(第55頁)。

列出本地分支
prompt> git branch
列出遠程分支
prompt> git branch -r

列出所有分支
prompt> git branch -a

基于當前分支(的末梢)創(chuàng)建新分支
prompt> git branch <new branch>

檢出另一條分支
prompt> git checkout <some branch>

基于當前分支創(chuàng)建新分支,同時檢出該分支
prompt> git checkout -b <new branch

基于另一個起點,創(chuàng)建新分支
你可以從版本庫中的任何一個版本開始創(chuàng)建新分支。這個起始點可以用一條已有的分支名稱、一個提交名稱,或者一個標簽名稱來表
prompt> git branch <new branch> <start point>

創(chuàng)建同名新分支,覆蓋已有分支
prompt> git branch -f <some existing branch> [<start point>]

移動或重命名分支
只有當<new branch>不存在時
prompt> git checkout -m <existing branch name> <new branch name>

如果<new branch>已存在,就覆蓋它
prompt> git checkout -M <existing branch name> <new branch name>

把另一條分支合并到當前分支
prompt> git merge <some branch>

合并,但不提交
prompt> git merge --no-commit <some branch>

揀選合并,并且提交
prompt> git cherry-pick <commit name>

揀選合并,但不提交
prompt> git cherry-pick -n <commit name>

把一條分支上的內(nèi)容壓合到另一條分支(上的一個提交)
prompt> git merge --squash <some branch>

刪除分支
僅當欲刪除的分支已合并到當前分支時
prompt> git branch -d <branch to delete>

不論欲刪除的分支是否已合并到當前分支
prompt> git branch -D <branch to delete>


A.4 歷史
History

這些命令用來顯示版本庫的歷史信息,包括代碼曾在哪里、誰在何時做了什么、修改的內(nèi)容及其統(tǒng)計信息。詳見第6章“查詢Git歷史記錄”(第71頁)。
顯示全部歷史記錄
prompt> git log

顯示版本歷史,以及版本間的內(nèi)容差異
prompt> git log -p

只顯示最近一個提交
prompt> git log -1

顯示最近的20個提交,以及版本間的內(nèi)容差異
prompt> git log -20 -p

顯示最近6小時的提交
prompt> git log --since="6 hours"

顯示兩天之前的提交
prompt> git log --before="2 days"

顯示比HEAD(當前檢出分支的末梢)早3個提交的那個提交
prompt> git log -1 HEAD
或者……
prompt> git log -1 HEAD
或者……
prompt> git log -1 HEAD

顯示兩個版本之間的提交
下面命令中的<start point>和<end point>可以是一個提交名稱、分支名稱、標簽名稱,或者它們的混合。
prompt> git log <start point>...<end point>

顯示歷史,每個提交顯示一行,包括提交注釋的第一行
prompt> git log --pretty=oneline

顯示改動行數(shù)統(tǒng)計
prompt> git log --stat

顯示改動文件的名稱和狀態(tài)
prompt> git log --name-status

顯示當前工作目錄樹和暫存區(qū)間的差別
prompt> git diff

顯示暫存區(qū)和版本庫間的差別
prompt> git diff --cached

顯示工作目錄樹和版本庫間的差別
prompt> git diff HEAD

顯示工作目錄樹與版本庫中某次提交版本之間的差別
<start point>可以是一個提交名稱、分支名稱或標簽名稱。
prompt> git diff <start point>

顯示版本庫中兩個版本之間的差別
prompt> git diff <start point> <end point>

顯示差別的相關(guān)統(tǒng)計
prompt> git diff --stat <start point> [<end point>]

顯示文件中各個部分的修改者及相關(guān)提交信息
prompt> git blame <some file>

顯示文件中各個部分的修改者及相關(guān)提交信息,包括在該文件中復(fù)制、粘貼和移動內(nèi)容等方面的情況。
prompt> git blame -M <some file>

顯示文件中各部分的修改者及相關(guān)提交信息,包括在文件間移動內(nèi)容方面的情況
prompt> git blame -C -C <some file>

顯示歷史時,顯示復(fù)制和粘貼信息
prompt> git log -C -C -p -1 <some point>



A.5 遠程版本庫
Remote Repositories

開發(fā)人員之間通過遠程版本庫來共享工作成果,相互協(xié)作。本節(jié)介紹關(guān)于這些操作的命令,詳見第7章“與遠程版本庫協(xié)作”(第91頁)。

克隆遠程版本庫
prompt> git clone <some repository>

克隆遠程版本庫,但只下載其中最近200個提交的歷史記錄
prompt> git clone --depth 200 <some repository>

在本地版本庫中設(shè)置遠程版本庫的別名
prompt> git remote add <remote repository> <repository url>

顯示遠程分支
prompt> git branch -r

基于遠程分支創(chuàng)建本地分支
prompt> git branch <new branch> <remote branch>

基于遠程標簽創(chuàng)建本地分支
prompt> git branch <new branch> <remote tag>

從別名為“origin”的遠程版本庫中取來修改變化,但不合并到本地分支
prompt> git fetch

從任意的遠程版本庫中取來修改變化,但不合并到本地分支
prompt> git fetch <remote repository>

從任意的遠程版本庫中取來修改變化,并合并到當前檢出的本地分支
prompt> git pull <remote repository>

從別名為“origin”的遠程版本庫中取來修改變化,并合并到當前檢出的本地分支
prompt> git pull

把修改變化從本地分支推入遠程版本庫
prompt> git push <remote repository> <local branch>:<remote branch>

把修改變化從本地分支推入遠程版本庫中同名分支
prompt> git push <remote repository> <local branch>

把修改變化從本地新建分支推入遠程版本庫
prompt> git push <remote repository> <local branch>

把修改變化推入別名為“origin”的遠程版本庫
當遠程版本庫中已有同名分支時,這個命令會推入本地分支到遠程版本庫對應(yīng)的分支中。如果遠程版本庫中尚無同名分支,則須使用git push <repository name> <local branch>。
prompt> git push

在遠程版本庫中刪除分支
prompt> git push <remote repository> :<remote branch>

在本地版本庫中刪除所有遠程版本庫中已不存在的分支
prompt> git remote prune <remote repository>

在本地版本庫中刪除某個遠程版本庫的簡稱,以及該遠程版本庫相關(guān)的分支
prompt> git remote rm <remote repository>

A.6 連接Git和SVN
Git to SVN Bridge

Git可以讀取Subversion版本庫中的數(shù)據(jù),并把本地修改發(fā)送回Subversion版本庫。這是Git區(qū)別于其他版本控制工具的必殺技之一。相關(guān)詳細介紹請參見第10章“遷移到Git”(第131頁)。
克隆SVN版本庫的全部內(nèi)容
prompt> git svn clone <svn repository>

克隆具有標準結(jié)構(gòu)的SVN版本庫
下面命令適用于克隆標準結(jié)構(gòu)的SVN數(shù)據(jù)庫,也就是說,主干命名為trunk,其他分支都存放于branches目錄下,標簽都存放于tags目錄下。
prompt> git svn clone -s <svn repository>

克隆非標準結(jié)構(gòu)的SVN版本庫
prompt> git svn clone -T <trunk path> \
2 ]! W9 t7 X4 N) D; H# n( g4 I/ H
-b <branch path> \

+ q- e& |5 k& n$ C1 }1 e
-t <tag path> \

7 v. |9 `& `9 g, _* a

< svn repository>

克隆具有標準結(jié)構(gòu)的SVN版本庫中的某個版本(比如第2321版)
prompt> git svn clone -s -r 2321

克隆具有標準結(jié)構(gòu)的SVN版本庫,并對SVN中的分支添加前綴
prompt> git svn clone -s --prefix svn/ <svn repository>

從上游SVN版本庫中獲得更新的內(nèi)容,并依此在本地Git版本庫中變基本地分支
prompt> git svn rebase

把修改變化推回上游SVN版本庫
prompt> git svn dcommit

列出所有將推入上游SVN版本庫的提交
prompt> git svn dcommit -n

顯示SVN歷史記錄
prompt> git svn log

顯示文件中各個部分的SVN的修改者及相關(guān)提交信息
prompt> git svn blame <some file>

 

 

轉(zhuǎn)載二則:

1. 服務(wù)器版本下載:

repo init -u git@192.168.1.11:i700t_60501010/platform/manifest.git -b froyo_almond -m M76XXTSNCJNLYA60501010.xml

repo sync

repo forall -c git checkout --track origin/i700t_60501010 -b [你的本地分支]

或者:

git clone git@192.168.1.11:6120_gingerbread/Arm9-6120.git

git checkout --track origin/arm9_6120 -b [你的本地分支名]

 

2. 服務(wù)器新加倉庫同步:

請按如下步驟取得Lanucher_wpon的代碼:

1:~> cd I700T/.repo/manifest

2: I700T/.repo/manifest> git pull --rebase

3: I700T/.repo/manifest> cd ../..

4: I700T> repo sync platform/packages/apps/Launcher_wpon

5:I700T> cd packages/apps/Launcher_wpon

6:I700T/packages/apps/Launcher_wpon> 

7:git checkout --track origin/froyo_almond -b [你的本地分支]

 

3. 上傳本地修改到服務(wù)器

repo forall -c git pull --rebase        和服務(wù)器同步(要上傳代碼前,一般先進行此操作)

git add .    或git add 文件名            添加當前倉庫修改的文件

git commit -m "..."                       在引號中添加你的修改記錄

git push origin  本地分支名:froyo_almond       上傳本地修改的代碼

 

4. 設(shè)置一些默認的全局變量,對所有工程代碼有效

git config --global user.name yourmail

git config --global user.email yourmail

git config --global push.default tracking     這樣后續(xù)git push 后面不用帶參數(shù)

 

5.查看修改記錄

git log                       本地倉庫修改記錄

repo forall -c git log --since="2011-04-19" --until="2011-04-21"   按條件查看工程所有倉庫修改記錄

repo status                查看工程中所有倉庫的修改狀態(tài)(包括文件位置)

git status                   查看倉庫修改狀態(tài)

 

6. 分支相關(guān)

git branch                 查看本地branch

git branch -r              查看遠程branch

git branch -a              查看所有branch

git branch -D  (-d)  (branch name)    刪除branch

cat .git/config      可以查看本地branch一些信息

 

7. 修改恢復(fù)相關(guān)

git checkout filename1  filename2  ...           取消本地修改,和服務(wù)器同步

git stash  

git stash apply          先stash本地修改,然后執(zhí)行g(shù)it pull --rebase同步,最后再APPLY恢復(fù)自己的修改

git reset --soft head_commit  恢復(fù)到最后一次commit,保持代碼修改

git reset --hard commit    恢復(fù)到指定一次commit,放棄之前所有修改

#回退a.py這個文件的版本到上一個版本  

git reset HEAD^ a.py 

git reset commitNO filename

 

8. 本地某倉庫出問題了,不好鬧騰時,刪除之,并重新同步跟蹤

project_folder/vendor/qcom$ rm -rf proprietary/                         進到相應(yīng)目錄,刪除之

project_folde$ repo sync platform/vendor/qcom/proprietary       重新repo sync,后面路徑名稱可查看:

                                                                                                 gedit .repo/manifest.xml

git branch -a    ----列舉所有BRANCH

git branch -D 700_arm11_server

git branch -D 700_arm11_server_wifi  --刪掉所有本地branch

git checkout --track origin/froyo_almond -b 700_arm11_server   然后track遠程branch,重新創(chuàng)建本地分支

 

9.tag的使用

git tag [tag_name] [version],在對應(yīng)版本上(一般用change的SHA1),創(chuàng)建tag 

git tag -l 列出當前tag 

git tag -d [tag_name] 刪除tag 

有了tag以后,可以使用git checkout [tag_name] -b [branch_name]來檢出對應(yīng)tag時刻的代碼。也可以用tag name來實現(xiàn)diff等功能。 

 

10. patch的使用

git diff filename1 filename2 ...                  修改位置對比,查看源碼

git diff > xxx.patch                                  將修改的地方打成一個patch

git apply xxx.patch                                  將patch打上

 

11. 后續(xù)有用到的命令繼續(xù)添加

git revert 是撤銷某次提交。git reset –hard,才是退回到以前的版本

git reset --soft commitNum      保存代碼修改的reset,但這個時候無法使用git diff 進行比較修改的文件,必須:

git reset filename filename     這樣就可以git diff查看

git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9 b8e7b00c02b95b320f14b625663fdecf2d63e74c 查看某兩個版本之間的差異

git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9:filename b8e7b00c02b95b320f14b625663fdecf2d63e74c:filename 查看某兩個版本的某個文件之間的差異

  Git 命令別名

$ git config –global alias.co checkout // co將會成為checkout的別名

$ git config –global alias.br branch

$ git config –global alias.ci commit

$ git config –global alias.st status

$ git config –global user.name “username”

$ git config –global user.email username@mail.com

 

轉(zhuǎn)載三則:

  1. 下載 repo 的地址: http://android.git.kernel.org/repo ,可以用 wgethttp://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/repo >~/bin/repo  來下載 repo , chmod a+x ~/bin/repo 
  2. 用repo sync 在抓去 android source code 的時候,會經(jīng)常出現(xiàn)一些錯誤導(dǎo)致 repo sync 中斷,每次都要手動開始。 可以用如下的命令,來自動重復(fù):   $?=1;   while [ $? -ne 0 ] ; do  repo sync ; done
  3.  repo help [ command ] , 顯示command 的詳細的幫助信息內(nèi)容
  4. repo init -u URL ,  在當前目錄安裝 repository ,會在當前目錄創(chuàng)建一個目錄 ".repo"  -u 參數(shù)指定一個URL, 從這個URL 中取得repository 的 manifest 文件。   repo init -u git://android.git.kernel.org/platform/manifest.git

               可以用 -m 參數(shù)來選擇 repository 中的某一個特定的 manifest 文件,如果不具體指定,那么表示為默認的 namifest 文件 (default.xml)    repo init -u git://android.git.kernel.org/platform/manifest.git -m dalvik-plus.xml

              可以用 -b 參數(shù)來指定某個manifest 分支。

               repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0

              可以用命令: repo help init 來獲取 repo init 的其他用法

        4. repo sync [project-list]

            下載最新本地工作文件,更新成功,這本地文件和repository 中的代碼是一樣的。 可以指定需要更新的project , 如果不指定任何參數(shù),會同步整個所有的項目。

           如果是第一次運行 repo sync , 則這個命令相當于 git clone ,會把 repository 中的所有內(nèi)容都拷貝到本地。 如果不是第一次運行 repo sync , 則相當于 git remote update ;  git rebase origin/branch .  repo sync 會更新 .repo 下面的文件。 如果在merge 的過程中出現(xiàn)沖突, 這需要手動運行  git  rebase --continue

      5. repo update[ project-list ]

      上傳修改的代碼 ,如果你本地的代碼有所修改,那么在運行 repo sync 的時候,會提示你上傳修改的代碼,所有修改的代碼分支會上傳到 Gerrit (基于web 的代碼review 系統(tǒng)), Gerrit 受到上傳的代碼,會轉(zhuǎn)換為一個個變更,從而可以讓人們來review 修改的代碼。

       6. repo diff [ project-list ]

        顯示提交的代碼和當前工作目錄代碼之間的差異。

       7. repo download  target revision

        下載特定的修改版本到本地, 例如:  repo download pltform/frameworks/base 1241 下載修改版本為 1241 的代碼

       8. repo start newbranchname

        創(chuàng)建新的branch分支。 "." 代表當前工作的branch 分支。

       9.  repo prune [project list]

        刪除已經(jīng)merge 的 project

      10. repo foreach [ project-lists] -c command

       對每一個 project 運行 command 命令

      11. repo status

       顯示 project 的狀態(tài)

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
{|ihower.tw| blog } | Git 版本控制系統(tǒng)(2) 開 branch 分支和操作遠端 repo.
GIT版本配置管理
Git遠程操作詳解
真正理解 git fetch, git pull 以及 FETCH
Git 常用命令詳解(二)
Git使用基礎(chǔ)篇
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服