git應用

1_創(chuàng)建代碼倉庫

git init 創(chuàng)建Repository
ls -al 查看內(nèi)容
git add file 添加文件/ add . 表示添加所有文件
git commit -m "First commit." 提交到Repository

2_查看修改狀態(tài)

git status 查看文件修改情況
git diff 查看所有文件的更改內(nèi)容
git diff app/src/main/.../MainAcitvity.java 查看具體文件的更改內(nèi)容
git checkout app/src/main/.../MainAcitvity.java 撤銷具體文件的更改內(nèi)容
<使用Andorid studio 時,通常用revert撤銷更改>
當文件的更改執(zhí)行過add命令后,無法用checkout命令還原,
此時体啰,git reset HEAD app/src/main/.../MainAcitvity.java取消添加,再運行git checkout命令撤銷修改芍锦。
git log 查看提交記錄<包括提交id节芥,提交人显晶,提交日期有滑,提交記錄>
git log (id) -1 只看一行記錄
git log (id) -1 -p 查看該行記錄具體修改了什么內(nèi)容
git log --graph 以圖表形式查看

_3分支的用法

git branch 查看當前版本庫當中有哪些分支
git branch version1.0 創(chuàng)建名為version1.0的分支
git checkout version1.0 切換到名為version1.0的分支

將分支上的修改合并到主干
git checkout master
git merge version1.0
1_ 切換到主干
2_ 將名為version1.0的分支合并到主干
git merge --no-ff version1.0
--no-ff 作用是在歷史記錄中明確記錄下本次分支合并

git branch -D version1.0 刪除名為version1.0的分支

_4遠程版本庫協(xié)作

git clone https://github.com/.../ text.git 將遠程代碼下載到本地倉庫
git push origin master 在對本地代碼進行了 一些修改和提交跃闹,同步到遠程代碼庫
origin指遠程版本庫的Git地址,此處指https://github.com/.../text.git
master指同步到哪一個分支上毛好,此處為master主干

遠程版本庫的修改同步到本地望艺,兩種方法:
1, fetch命令
git fetch origin master
此命令同步下來的代碼并不會合并到任何分支上睛榄,而是存放在origin/master分支上
git diff origin/master 查看遠程版本庫作了哪些修改
git merge origin/master 將origin/maste分支上的修改合并到主分支上
2荣茫,pull命令
git pull origin master 將fetch 和 merge 命令一起執(zhí)行想帅,獲取最新代碼并且合并

_將代碼托管至 github上

方法1:github上新建倉庫,clone至本地场靴,將想要公開的代碼提交至這個倉庫再push到GitHub倉庫中,代碼便會被公開港准。

方法2:git remote add origin <倉庫地址>
本地倉庫與遠程倉庫連接

_github中Tag的應用

git tag -a v1.0 -m "add a tag" 創(chuàng)建名為v1.0的Tag
git tag 查看所有Tag
git tag -l 'v1.0' 查看具體某個版本Tag
git show v1.0 展示Tag v1.0具體信息
git push origin v1.0 共享至github
git push origin --tags 所有Tag共享至github
git tag -d v1.0 刪除某個Tag
git push origin :refs/tags/v1.0 刪除遠程某個Tag
git checkout v0.1 切換到名為v0.1的Tag
git checkout -b bt v0.1 創(chuàng)建一個名為bt的分支旨剥,包含v0.1Tag的代碼

_技巧應用

場景一:

回到某個節(jié)點,修復BUG浅缸,合并到主干
git reset 回溯歷史版本

git log 查看歷史日志轨帜,記錄要回到節(jié)點的ID哈希值
git reset --hard ID哈希值 回溯到某個節(jié)點
git checkout -b fix-b 創(chuàng)建修復Bug分支fix-b
修復Bug
git relog 查看當前倉庫執(zhí)行過的操作日志,記錄ID哈希值
git checkout master 回到主分支
git reset --hard ID哈希值 推進到之前的節(jié)點
git merge --no-ff fix-b 合并fix-b分支
git add / git commit 提交至倉庫

場景二:

要修改上一條提交信息
git commit --amend
在編輯器中修改提交信息衩椒,保存蚌父,關閉編輯器

場景三:

將一次小的修改哮兰,提交至上一次提交中,壓縮成一個歷史記錄
git rebase -i

git rebase -i HEAD~2 選定當前分支中包含HEAD在內(nèi)的兩個最新歷史記錄為對象苟弛,并在編輯器中打開
顯示為
pick id 提交信息1
pick id 提交信息2
更改為
pick id 提交信息1
fixup id 提交信息2
保存喝滞,關閉編輯器

場景四:

分支的協(xié)作開發(fā):同事1創(chuàng)建某個功能分支,并同步到遠程倉庫膏秫,同事2獲取遠程的分支右遭,提交更改,同步更新缤削,同事1獲取最新更新窘哈。
1,git checkout -b feature-D 同事1創(chuàng)建分支
2亭敢,git push -u origin feature-D 同事1push至遠程倉庫
3滚婉,git clone git@github.com:...
git branch -a 添加-a可以同時查看本地和遠程倉庫的信息
如果已克隆至本地倉庫,可省略...
git checkout -b feature-D origin/feature-D 將feature-D分支獲取至本地
修改...
4帅刀,git commit -am "###" 提交
5满哪,git push 推送至遠程倉庫
6,git pull origin feature-D 同事1獲取分支最新代碼

場景五:

github上下載某個分支代碼
git clone -b feature-b git@github.com:...
下載名為feature-b的分支代碼

場景六:

github上 查看分支間差別
比如想查看feature-a 和 feature-b分支之間的差別劝篷,可以將分支名加入到URL里
https://github.com/rails/rails/compare/feature-a...feature-b
查看幾天前的差別
https://github.com/rails/rails/compare/master@{7.day.ago}...master
時間單位{day.week.month.year}
查看與指定日期之間的差別
https://github.com/rails/rails/compare/master@{2018-01-01}...master

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哨鸭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子娇妓,更是在濱河造成了極大的恐慌像鸡,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哈恰,死亡現(xiàn)場離奇詭異椭员,居然都是意外死亡,警方通過查閱死者的電腦和手機盯漂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門储矩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荠医,你說我怎么就攤上這事吁脱。” “怎么了彬向?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵兼贡,是天一觀的道長。 經(jīng)常有香客問我娃胆,道長遍希,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任里烦,我火速辦了婚禮凿蒜,結(jié)果婚禮上禁谦,老公的妹妹穿的比我還像新娘。我一直安慰自己废封,他們只是感情好枷畏,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著虱饿,像睡著了一般拥诡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上氮发,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天渴肉,我揣著相機與錄音,去河邊找鬼爽冕。 笑死仇祭,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的颈畸。 我是一名探鬼主播乌奇,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼眯娱!你這毒婦竟也來了礁苗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤徙缴,失蹤者是張志新(化名)和其女友劉穎试伙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體于样,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡疏叨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了穿剖。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚤蔓。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖糊余,靈堂內(nèi)的尸體忽然破棺而出秀又,到底是詐尸還是另有隱情,我是刑警寧澤啄刹,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布涮坐,位于F島的核電站凄贩,受9級特大地震影響誓军,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜疲扎,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一昵时、第九天 我趴在偏房一處隱蔽的房頂上張望捷雕。 院中可真熱鬧,春花似錦壹甥、人聲如沸救巷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浦译。三九已至,卻和暖如春溯职,著一層夾襖步出監(jiān)牢的瞬間精盅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工谜酒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留叹俏,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓僻族,卻偏偏與公主長得像粘驰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子述么,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

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

  • Git常用語法 [TOC] Git簡介 描述 ? Git(讀音為/g?t/蝌数。)是一個開源的分布式版本控制系統(tǒng),...
    君惜丶閱讀 3,497評論 0 13
  • 創(chuàng)建版本庫: 1.初始化一個Git倉庫度秘,使用git init命令籽前。 2.添加文件到Git倉庫,分兩步:(1)使用命...
    Leon_Geo閱讀 1,300評論 1 11
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,632評論 9 163
  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,456評論 1 26
  • 第一章 晝夜節(jié)律 (重點摘抄) 人平均每晚睡6.5個小時敷钾。此外枝哄,每晚只睡5~6小時占比還在逐年加劇阻荒!由此看來挠锥,社...
    KAKA旭閱讀 1,088評論 0 0