GIT筆記

本文章是學(xué)習(xí)廖雪峰老師的《GIT教程》的筆記钩述。

一.安裝GIT

因為Git是分布式版本控制系統(tǒng)莽囤,所以,每個機(jī)器都必須自報家門:你的名字和Email地址切距。

$ git config --global user.name "your name"
$ git config --global user.email "your email"

二.創(chuàng)建版本庫

1.第一步朽缎,選擇一個合適的地方,創(chuàng)建一個空目錄

$ mkdir learnGit //創(chuàng)建一個空目錄
$ cd learnGit //進(jìn)入目錄
$ pwd //顯示當(dāng)前所在路徑

顯示結(jié)果:/c/Users/Administrator/learnGit
注:windows環(huán)境下,請確保目錄名(包括父目錄)不包含中文

2.第二步话肖,將該目錄變成GIT可管理的倉庫

$ git init

顯示結(jié)果:Initialized empty Git repository in C:/Users/Administrator/learnGit/.git/

3.第三步北秽,我們就可以在該目錄下添加文件了。

比如我們在該目錄下創(chuàng)建一個 readme.txt文件最筒,內(nèi)容隨意

4.第四步贺氓,把我們新添加的文件添加到GIT倉庫

$ git add readme.txt

顯示結(jié)果:當(dāng)沒有任何提示的時候,說明你提交成功了

5.第五步床蜘,把文件提交到GIT倉庫

$ git commit -m "wrote a readme file" //-m 后面是本次提交的說明

顯示結(jié)果:
[master (root-commit) 93854c9] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt

三.版本控制

$ git status
注:此命令可以讓我們時刻掌握倉庫當(dāng)前的狀態(tài)辙培,比如修改過文件后,查看當(dāng)前狀態(tài)

$ git diff readme.txt
注:此命令可以讓我們查看readme.txt文件修改過什么

$ git log
注:此命令可以顯示從最近到最遠(yuǎn)的提交日志

$ git reset --hard HEAD^
注:此命令為回退到上一個版本

$ cat readme.txt
注:顯示readme.txt的內(nèi)容

$ git reset --hard 9977218
注:回退之后想再找回最新提交的版本邢锯,只需要找到最新提交產(chǎn)生的commit id扬蕊,即可恢復(fù)最新提交版本

$ git reflog
注:此命令用來記錄你的每一次命令,可用來查找commit id

$ git checkout --readme.txt
注:此命令就是讓readme.txt這個文件回到最近一次git commit或git add時的狀態(tài)

$ git reset HEAD readme.txt
注:此命令可以把暫存區(qū)的修改撤銷掉(unstage)丹擎,重新放回工作區(qū)

$ rm readme.txt
注:用于刪除readme.txt文件

四.遠(yuǎn)程倉庫

第1步:創(chuàng)建SSH Key

在用戶主目錄下尾抑,看看有沒有.ssh目錄,如果有蒂培,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件再愈,如果已經(jīng)有了,可直接跳到下一步护戳。如果沒有翎冲,打開Shell(Windows下打開Git Bash),創(chuàng)建SSH Key:

$ ssh-keygen -t rsa -C "your email"

注:如果一切順利的話媳荒,可以在用戶主目錄里找到.ssh目錄府适,里面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對肺樟,id_rsa是私鑰檐春,不能泄露出去,id_rsa.pub是公鑰么伯,可以放心地告訴任何人

第2步:登陸GitHub

打開“Account settings”疟暖,“SSH Keys”頁面,然后田柔,點“Add SSH Key”俐巴,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內(nèi)容

其他GitHub相關(guān)操作,請戳這里

$ git remote add origin git@github.com:michaelliao/learngit.git
$ git push -u origin master

五.分支管理

$ git branch //查看分支
$ git branch <name> //創(chuàng)建分支
$ git checkout <name> //切換分支
$ git checkout -b <name> //創(chuàng)建+切換分支
$ git merge <name> //合并某分支到當(dāng)前分支
$ git branch -d <name> //刪除分支

Fast forward

$ git merge --no-ff -m "merge with no-ff" dev
注:如果要強(qiáng)制禁用Fast forward模式,Git就會在merge時生成一個新的commit耳峦,這樣洞渤,從分支歷史上就可以看出分支信息

儲存工作區(qū)

$ git stash
注:此命令用于將當(dāng)前工作區(qū)儲藏起來进陡,當(dāng)處理bug的時候靴拱,需要切換分支亭引,這時就需要將當(dāng)前工作區(qū)儲存称开,以便解決bug后將現(xiàn)在的工作區(qū)恢復(fù)

$ git stash list
注:查看工作區(qū)相關(guān)

$ git stash apply //恢復(fù)工作區(qū)糟把,但stash內(nèi)容并不刪除绢涡,需要用$ git stash drop來刪除
$ git stash pop //恢復(fù)工作區(qū)的同時,stash內(nèi)容也被刪除

$ git branch -D <name> //用于刪除一個為被合并過的分支遣疯,強(qiáng)制刪除

多人協(xié)作

$ git remote //查看遠(yuǎn)程庫的信息
$ git remote -v //查看遠(yuǎn)程庫的詳細(xì)信息

$ git push origin master //推送分支

$ git clone git@github.com:michaelliao/learngit.git //抓取分支

$ git checkout -b dev origin/dev //創(chuàng)建遠(yuǎn)程origin的dev分支到本地

$ git pull //把最新的提交從origin/dev抓下來
注:如果git pull提示“no tracking information”雄可,則說明本地分支和遠(yuǎn)程分支的鏈接關(guān)系沒有創(chuàng)建,用命令$ git branch --set-upstream branch-name origin/branch-name

六.標(biāo)簽管理

$ git tag v1.0 //打一個新標(biāo)簽
$ git tag //查看所有標(biāo)簽
$ git tag v0.9 6224937 //根據(jù)commit id打標(biāo)簽
$ git tag -a <tagname> -m "blablabla..." //可以指定標(biāo)簽信息缠犀;
$ git show v0.9 //查看標(biāo)簽信息
$ git tag -s <tagname> -m "blablabla..." //可以用PGP簽名標(biāo)簽数苫;
$ git tag -d v0.1 //刪除標(biāo)簽
$ git push origin v1.0 //推送標(biāo)簽
$ git push origin --tags //一次性推送所有標(biāo)簽

刪除一個遠(yuǎn)程標(biāo)簽

$ git tag -d v0.9 //先刪除本地的標(biāo)簽
$ git push origin :refs/tags/v0.9 //再從遠(yuǎn)程刪除

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市辨液,隨后出現(xiàn)的幾起案子虐急,更是在濱河造成了極大的恐慌,老刑警劉巖室梅,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異疚宇,居然都是意外死亡亡鼠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門敷待,熙熙樓的掌柜王于貴愁眉苦臉地迎上來间涵,“玉大人,你說我怎么就攤上這事榜揖」戳ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵举哟,是天一觀的道長思劳。 經(jīng)常有香客問我,道長妨猩,這世上最難降的妖魔是什么潜叛? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮壶硅,結(jié)果婚禮上威兜,老公的妹妹穿的比我還像新娘。我一直安慰自己庐椒,他們只是感情好椒舵,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著约谈,像睡著了一般笔宿。 火紅的嫁衣襯著肌膚如雪犁钟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天措伐,我揣著相機(jī)與錄音特纤,去河邊找鬼。 笑死侥加,一個胖子當(dāng)著我的面吹牛捧存,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播担败,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼昔穴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了提前?” 一聲冷哼從身側(cè)響起吗货,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎狈网,沒想到半個月后宙搬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡拓哺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年勇垛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片士鸥。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡闲孤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出烤礁,到底是詐尸還是另有隱情讼积,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布脚仔,位于F島的核電站勤众,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鲤脏。R本人自食惡果不足惜决摧,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望凑兰。 院中可真熱鬧掌桩,春花似錦、人聲如沸姑食。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽音半。三九已至则拷,卻和暖如春贡蓖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背煌茬。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工斥铺, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坛善。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓晾蜘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親眠屎。 傳聞我的和親對象是個殘疾皇子剔交,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

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

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,661評論 9 163
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,665評論 4 54
  • 本文為 Git教程的學(xué)習(xí)筆記改衩,教程源自廖雪峰的博客岖常。這是一個由淺入深,學(xué)完后能立刻上手的Git教程葫督。另竭鞍,附上另一本...
    七弦桐語閱讀 6,247評論 5 47
  • GIT筆記: 1. 工作區(qū)(Working Directory)和版本庫(Repository) 說明: 工作區(qū)就...
    hello大象閱讀 271評論 0 0
  • 人吶,還真是奇怪呢
    陶愔愔閱讀 150評論 0 0