git筆記

綱領(lǐng):

其實(shí)git的學(xué)習(xí)就是四個(gè)區(qū)之間關(guān)系轉(zhuǎn)換的學(xué)習(xí)蘸泻,以及各個(gè)區(qū)本身一些操作的學(xué)習(xí)。每個(gè)操作都有其特定的作用區(qū)嘲玫。學(xué)習(xí)時(shí)注意區(qū)分悦施,可事半功倍!

注:尤其要注意去团,git是以修改為單位的抡诞。

一、配置

關(guān)鍵命令: "git config"

git config --global user.name "yourName"
git config --global user.email "email@example.com"

二渗勘、初始化

關(guān)鍵命令:"git init"

//切換到工作目錄沐绒,然后執(zhí)行初始化命令
git init

三俩莽、添加文件

關(guān)鍵命令:"git add xx.file"

git add test.txt

四旺坠、提交文件

關(guān)鍵命令:"git commit -m "添加了xx.file文件""

git commit -m "添加了test.txt文件"

五、狀態(tài)查看

關(guān)鍵命令:"git status"

git status 

六扮超、查看差異

關(guān)鍵命令:"git diff xx.file"

注:對(duì)比的是工作區(qū)與暫存區(qū)

git diff test.txt

七取刃、查看版本歷史

關(guān)鍵命令:"git log" 、"git log --pretty=oneline"

注:查看的都是repo庫的改動(dòng)

git log

#簡化輸出可用參數(shù)--pretty=oneline
git log --pretty=oneline
#等號(hào)兩邊沒有空格

八出刷、回退歷史版本

關(guān)鍵命令:"git reset --hard commit_id"

注:此命令其實(shí)就是修改repo庫head指針的指向位置

參數(shù)解釋:

git reset有三個(gè)主要參數(shù)

  • --soft -------->只有repo動(dòng)
  • --mixed ----->repo和stage動(dòng)(注:默認(rèn)缺省值
  • --hard -------> repo璧疗、stage、workspace都動(dòng)

commit_id主要有兩種表示方式

  • HEAD關(guān)鍵字表示
  • hash值前四位表示
git reset --hard HEAD^
#--hard 表示三個(gè)區(qū)域完全回退
#HEAD^表示回退的目的地馁龟,^號(hào)表示HEAD指針的上一個(gè)版本崩侠。HEAD^也可用commit id的hash值的前幾位替代,git會(huì)自動(dòng)索引坷檩。
git reset --hard 142e


九却音、回流

關(guān)鍵命令:"git reflog"

注:作用與repo庫

git  reflog 
#用于回流回退過的情況

十、放棄工作區(qū)的修改

關(guān)鍵命令:"git checkout -- xx.file"

注:從暫存去簽出矢炼,覆蓋工作區(qū)系瓢。

git checkout -- test.txt
# --不能少

十一、刪除暫存區(qū)的內(nèi)容(參考第八條)

關(guān)鍵命令:"git reset HEAD xx.file"

參數(shù)解釋:

  • 默認(rèn)缺省--mixed
  • xx.file在單一文件時(shí)可缺省句灌,默認(rèn)整個(gè)文件夾同時(shí)修改
  • HEAD指向當(dāng)前head指針
    注:本質(zhì)依舊是修改repo庫的head指針夷陋,但因?yàn)槿笔≈低瑫r(shí)修改了stage,所以效果像是刪除了暫存區(qū)。
git reset HEAD test.txt
#此操作不會(huì)影響工作區(qū)

十二骗绕、刪除工作區(qū)文件

關(guān)鍵命令:"git rm xx.file"

注:在暫存區(qū)工作藐窄,同git add xx.file,所以還需要一步commit

git rm test.txt
#會(huì)先執(zhí)行工作區(qū)的文件刪除操作 `rm test.txt`

git commit -m "rm test.txt"

十三酬土、遠(yuǎn)程倉庫

  • ssh-keygen -t rsa -C "youremail@example.com"創(chuàng)建私鑰與公鑰
  • 在github添加公鑰
  • 創(chuàng)建github倉庫 (后續(xù)可直接按github的提示操作即可枷邪。)
  • 本地git工作區(qū)運(yùn)行git remote add origin git@github.com:name/repoName.git關(guān)聯(lián)本地repo與遠(yuǎn)程repo
  • 初次推送git push -u origin master
  • 后續(xù)推送git push origin master
  • 注:SSH警告可以忽略,直接yes

十四诺凡、克隆項(xiàng)目

關(guān)鍵命令:"git clone"

git clone git@github.com:name/repoName.git
#使用了ssh东揣。也可以使用https。

十五腹泌、分支

關(guān)鍵命令:

  • git branch <name> 創(chuàng)建分支
  • git checkout -b <name> 創(chuàng)建并切換分支
  • git checkout <name> 切換分支
  • git branch 查看分支
  • git merge <name> 合并指定分支到當(dāng)前分支
  • git branch -d <name> 刪除指定分支
git branch testDevA
#創(chuàng)建分支A
git checkout -b testDevB
#創(chuàng)建并切換到B分支
git checkout master
#切換到主分支
git branch
#查看分支
git merge testDevA
#將A分支合并到主分支
git merge testDevB
#將B分支合并到主分支
git branch -d testDevA
#刪除A分支
git branch -d testDevB 
#刪除B分支

十六嘶卧、貯藏棧

注:常用來暫存當(dāng)前工作,去解決臨時(shí)問題凉袱,之后再恢復(fù)工作芥吟。

關(guān)鍵命令:

  • git stash 貯藏入棧
  • git stash pop 出棧并清空棧
  • git stash list 貯藏列表(可多次貯藏,然后查詢专甩,并用下面命令取出)
  • git stash apply 出棧
  • git stash apply stash{0} 指定貯藏出棧
  • git stash drop 清空棧
git stash
#貯藏
git stash pop
#取出

十七钟鸵、標(biāo)簽

注:默認(rèn)給最新的commit_id打標(biāo)簽,也可指定commit_id涤躲。
注2:標(biāo)簽的顯示是按照字母順序的棺耍,不是時(shí)間順序。
注3:標(biāo)簽?zāi)J(rèn)只存儲(chǔ)在本地种樱,需要而外推送遠(yuǎn)程庫蒙袍。

關(guān)鍵命令:

  • git tag <tagName> 打標(biāo)簽
  • git tag 查看標(biāo)簽名
  • git tag <tagName> <commit_id> 給特定commit_id打標(biāo)簽
  • git show <tagName> 查看指定標(biāo)簽的詳細(xì)信息
  • git tag -a <tagName> -m <describe> <commit_id> -a指定標(biāo)簽名,-m注釋嫩挤。
  • git tag -d v1.0 刪除標(biāo)簽
  • git push origin <tagName> 推送特定標(biāo)簽
  • git push origin --tags 推送全部標(biāo)簽
  • git push origin :ref/tags/<tagName> 刪除遠(yuǎn)端標(biāo)簽
git tag v1.0
git tag
git tag v0.3 1e2c
git show v1.0
git tag -a v0.4 -m "this is a test" 3re4 

#commit_id 可省略害幅,默認(rèn)最新commit_id。

十八岂昭、git私服搭建

待續(xù)以现。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市约啊,隨后出現(xiàn)的幾起案子邑遏,更是在濱河造成了極大的恐慌,老刑警劉巖棍苹,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件无宿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡枢里,警方通過查閱死者的電腦和手機(jī)孽鸡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門蹂午,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人彬碱,你說我怎么就攤上這事豆胸。” “怎么了巷疼?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵晚胡,是天一觀的道長。 經(jīng)常有香客問我嚼沿,道長估盘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任骡尽,我火速辦了婚禮遣妥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘攀细。我一直安慰自己箫踩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布谭贪。 她就那樣靜靜地躺著境钟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪俭识。 梳的紋絲不亂的頭發(fā)上慨削,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音鱼的,去河邊找鬼理盆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛凑阶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播衷快,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼宙橱,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了蘸拔?” 一聲冷哼從身側(cè)響起师郑,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎调窍,沒想到半個(gè)月后宝冕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡邓萨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年地梨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了菊卷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡宝剖,死狀恐怖洁闰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情万细,我是刑警寧澤扑眉,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站赖钞,受9級(jí)特大地震影響腰素,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜雪营,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一耸弄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧卓缰,春花似錦计呈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至总寒,卻和暖如春扶歪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摄闸。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國打工善镰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人年枕。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓炫欺,卻偏偏與公主長得像,于是被迫代替她去往敵國和親熏兄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子品洛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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

  • Git 是目前最流行的分布式版本控制系統(tǒng)之一。 版本控制指的是摩桶,記錄每次版本變更的內(nèi)容和時(shí)間等細(xì)節(jié)桥状,保留各版本之間...
    神齊閱讀 1,400評(píng)論 0 7
  • 分支模型 常駐型分支: master:每個(gè)提交都是穩(wěn)定版本,每次提交打tagdevelop:每次提交都是可完整編譯...
    Wavky閱讀 340評(píng)論 0 0
  • 對(duì)于一個(gè)新的包括submodule的項(xiàng)目調(diào)用以下命令即可 或者 配置 首先是配置帳號(hào)信息 ssh -T git@g...
    brownfeng閱讀 467評(píng)論 0 0
  • 一.Git簡介 Git是世界上最先進(jìn)的分布式版本控制系統(tǒng)硝清,相對(duì)于SVN這樣的集中式版本控制系統(tǒng)辅斟,Git不需要“中央...
    ahuustcly閱讀 714評(píng)論 0 0
  • 目錄 Git 筆記系列(一)—— Git簡介 Git 筆記系列(二)—— Git工作流程 Git 筆記系列(三)—...
    吃蘑菇De大灰狼閱讀 496評(píng)論 0 4