git的使用規(guī)范

Git版本控制

Git中大部分操作都是針對本地文件和本地?cái)?shù)據(jù)庫,只有在我們平時執(zhí)行類似克隆(clone)拐云、pull罢猪、push等命令時才與遠(yuǎn)程服務(wù)器交互。這樣對于開發(fā)維護(hù)代碼庫就很安全叉瘩,因?yàn)橐坏┻h(yuǎn)程服務(wù)器代碼丟失仍然可以將本地代碼上傳到服務(wù)器膳帕;也會給開發(fā)者帶來諸多方便,因?yàn)閷⑦h(yuǎn)程代碼取到本地后可以隨意的修改薇缅,一旦修改混亂之后仍然可以恢復(fù)到以前版本危彩,即使本地代碼被誤刪除仍然可以重新從服務(wù)器取回代碼。

下面將針對一些常用使用命令和技巧進(jìn)行介紹:

一泳桦、git提交規(guī)范

在commit是,如果有對應(yīng)PR汤徽,請?jiān)诘谝恍袑懮螾R號,然后再描述信息(另起行)灸撰,并把涉及到改動的文件名附上.

具體操作如下(不用git commit -m填寫說明):

1泻骤、如果提交全部文件(請先git status確認(rèn)是否要提交所有改動)

1.1git commit -a

1.2在打開的編輯器中(默認(rèn)為VIM)第一行 填寫PR號(頂格寫,多個PR用逗號隔開梧奢,要寫全)狱掂,然后再寫說明。

1.3把涉及修改文件路徑前的#去掉,就會提交亲轨,不用手工輸入文件路徑趋惨。

1.4然后ESC輸入:wq退出VIM.

2、如果提交部分文件

2.1分別git add要提交的所有文件惦蚊。

2.2 git commit器虾。

2.3以后步驟同上讯嫂。

二、第一次初始配置

1兆沙、第一次取出代碼到本地需要克隆代碼(從服務(wù)器取代碼到本地)欧芽,一般如果新建一個本地代碼庫都需要重新克隆一次代碼。

命令:git clone git://服務(wù)器代碼庫地址

2葛圃、第一次使用git環(huán)境一般應(yīng)該配置你的用戶信息千扔,這樣會方便別人與自己查看git提交代碼記錄。

命令:$ git config --global user.name zhangsan

$ git config --global user.emailzhang.san@zte.com.cn

這里使用的—global库正,以后的所有項(xiàng)目都默認(rèn)使用這個配置曲楚,這時寫入的是用戶主目錄的git配置文件(跟曲以鵬在郵件里邊說的那個“.gitconfig”文件應(yīng)該是一回事),如果想改變其中一個項(xiàng)目的配置可以去掉—global重新配置如:

命令:$ git config user.name lisi

查看這些配置信息褥符,如:

命令:$ git config --list

3龙誊、修改編輯器,一般我們在git commit(提交)后喷楣,需要添加PR號或者添加注釋信息趟大,對于編輯可以選用自己習(xí)慣的編輯器如:vi

命令:$ git config --global core.editor vi

三、提交代碼(這部分只是針對本地代碼庫铣焊,所有操作都沒有涉及服務(wù)器)

1护昧、提交代碼過程大家都非常熟悉,平時常用幾種命令粗截,如:

$ git add file–> $ git commit或者 全部提交:$ git commit–a

當(dāng)中可能經(jīng)常使用如$ git status查詢狀態(tài)、$ git diff比較不同捣炬。

下面總結(jié)了一些以上過程中比較熊昌、撤銷等好用命令。

2湿酸、本地操作代碼庫狀態(tài)

本地操作后婿屹,本地代碼庫會有三種狀態(tài):修改、暫存推溃、提交昂利。

Git add后就從修改變?yōu)闀捍妫琯it commit后就從暫存變?yōu)樘峤弧?/p>

1)铁坎、各個狀態(tài)比較命令如:

修改與暫存比較不同:$ git diff <文件路徑>

暫存與上次提交比較不同:$ git diff --cached <文件路徑>

2)蜂奸、將文件從暫存移除變?yōu)樾薷臓顟B(tài),一般git add后發(fā)現(xiàn)添加文件多了硬萍,可以使用命令如:

$ git reset HEAD

3)扩所、修改提交文件,代碼提交以后會產(chǎn)生一個哈希值類似(a124b9da6552252987aa493b52f8696cd6d3b003)一字符串朴乖,以后可以根據(jù)哈希值回到相應(yīng)版本祖屏。

對于剛剛提交的代碼很容易忘記寫注釋(PR)或者漏提交了部分文件助赞,這時可以使用命令修改上次的提交:$git commit --amend

如果添加注釋可以直接執(zhí)行命令,填寫注釋保存袁勺。

如果添加文件先執(zhí)行$ git add后 執(zhí)行$git commit –amend

3雹食、查看以前提交情況

1)、查看某人提交日志

命令:$ git log--author=zengyun

2)期丰、搜索提交日志(根據(jù)第一行的PR號)

命令:$git log --grep=PR000667740

這里邊的PR號一定在第一行寫群叶,如果多個PR號請用‘,’隔開咐汞。具體請參考git提交規(guī)范盖呼。

3)、查看某文件夾log

命令:$git log ?framework/base/core/java/android/

4)化撕、查看每次提交信息

命令:$git log-p-2

-2表示最近兩次提交几晤。

5)、查看某次提交的詳細(xì)信息

命令:$git show5ba47ce9ceb4c5db86563c03c6833ee47bd22a53

6)植阴、如果精確查找顯示可以將上面1)蟹瘾、2)、3)掠手、4)組合使用憾朴。

四、遠(yuǎn)程服務(wù)器取喷鸽、推代碼众雷。(與服務(wù)器交互)

前面提過克隆命令:git clone git://服務(wù)器,它實(shí)現(xiàn)過程實(shí)際上是創(chuàng)建本地分支master做祝,并且去服務(wù)器代碼到本地砾省。

1、取代碼從服務(wù)器命令:$ git pull

2混槐、推代碼到服務(wù)器命令:$ git push

在主分支下编兄,不用指定分支名稱,系統(tǒng)會默認(rèn)為pull主分支声登。

五狠鸳、切換到分支下工作

目前各種定制越來越多,作為使用者如何直接進(jìn)入分支悯嗓,開展我們的開發(fā)工作件舵。下面以印度分支為例進(jìn)行說明:

1、克隆代碼脯厨,

命令:git clone git://192.168.1.231/home/android/workspace/App7627_5330

注:(如果本地有代碼則沒有此步)

2芦圾、確定當(dāng)前分支所在 ,

命令:git branch

例如:

Inida_MMX

* master

表示當(dāng)前所在分支是主分支master

3俄认、如果第一次克隆代碼个少,使用git branch查詢時候發(fā)現(xiàn)只有master分支洪乍,在切換到India_MMX分支時候,

需要執(zhí)行命令:git checkout origin/India_MMX

之后會有提示夜焦,然后再執(zhí)行下面命令:git checkout -b India_MMX

4壳澳、 如果印度分支已經(jīng)存在,具體方法如下:

命令:git checkout India_MMX

六茫经、分支下常用命令

1巷波、pull代碼

命令:git pull origin India_MMX

push提交代碼

命令:git push origin India_MMX

2、切換到主分支

命令:git checkout master

如果切換的過程出現(xiàn)merge失敗卸伞,使用$ git status命令查看哪些文件不能merge抹镊,之后手動merge。

3荤傲、查看所有分支(服務(wù)器與本地)

命令:$ git branch–a

4垮耳、查看當(dāng)前分支下最新提交信息

命令:$ git branch–v


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市遂黍,隨后出現(xiàn)的幾起案子终佛,更是在濱河造成了極大的恐慌,老刑警劉巖雾家,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铃彰,死亡現(xiàn)場離奇詭異,居然都是意外死亡芯咧,警方通過查閱死者的電腦和手機(jī)牙捉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敬飒,“玉大人邪铲,你說我怎么就攤上這事∈还埃” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵晶衷,是天一觀的道長蓝纲。 經(jīng)常有香客問我,道長晌纫,這世上最難降的妖魔是什么税迷? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮锹漱,結(jié)果婚禮上箭养,老公的妹妹穿的比我還像新娘。我一直安慰自己哥牍,他們只是感情好毕泌,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布喝检。 她就那樣靜靜地躺著,像睡著了一般撼泛。 火紅的嫁衣襯著肌膚如雪挠说。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天愿题,我揣著相機(jī)與錄音损俭,去河邊找鬼。 笑死潘酗,一個胖子當(dāng)著我的面吹牛杆兵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播仔夺,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼琐脏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了囚灼?” 一聲冷哼從身側(cè)響起骆膝,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灶体,沒想到半個月后阅签,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝎抽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年政钟,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片樟结。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡养交,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瓢宦,到底是詐尸還是另有隱情碎连,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布驮履,位于F島的核電站鱼辙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏玫镐。R本人自食惡果不足惜倒戏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恐似。 院中可真熱鬧杜跷,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至孵运,卻和暖如春秦陋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背治笨。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工驳概, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人旷赖。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓顺又,卻偏偏與公主長得像,于是被迫代替她去往敵國和親等孵。 傳聞我的和親對象是個殘疾皇子稚照,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,668評論 4 54
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,665評論 9 163
  • 最近一直在看韓劇《嫉妒的化身》,主要是為了看女主咐熙。有著172cm身高的孔曉振(孔孝真)出演女一弱恒,演技在線,不是極美...
    木魚之眼閱讀 1,854評論 1 6
  • 還記得那個讓你倒背如流的電話號碼嗎? 高中時爪飘,朋友問我電話號碼义起,我便背下來給她。結(jié)果過了幾天师崎,她打電話給我說默终,接你...
    33姍閱讀 331評論 4 1
  • 《搏擊俱樂部》是描述在一個汽車銷售公司上班的主人公杰克,在面對工作的無味和上司苛刻犁罩,長期在壓抑的情緒中生活齐蔽,決又在...
    4e98e4cfe7d0閱讀 736評論 0 1