Git教程

Git簡介

集中式vs分布式

svn屬于集中式管理,git屬于分布式管理巩梢。

安裝Git

MacOS 安裝Xcode后默認安裝Git。

創(chuàng)建版本庫

git init git add

$       cd ~/Desktop/
$       mkdir GitResponse
$       cd GitResponse/
$       ls -a
輸出: .   ..
$       git init
$       ls -a
輸出      .   ..  .git

此時可以看到文件夾中有.git的文件,說明git倉庫構(gòu)建成功疗涉。Git只能跟蹤文本文件的改動易稠,比如.txt文件缸废,網(wǎng)頁,程序代碼等。

$ touch readme.txt

新建一個文件readme.txt使用$ git add readme.txt將文件加入倉庫企量。執(zhí)行完畢以后如果沒有任何提示测萎,則表明添加成功!UNIX思想沒有消息就是好消息

git commit -m ""

$       git commit -m "新建readme.txt文件"
輸出: [master (root-commit) f242d2d] 新建readme.txt文件
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt

git status

我們嘗試修改readme.txt后 使用git status命令

$       git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")

說明修改的文件未提交届巩。 readme.txt文件未提交硅瞧。

git diff

git diff命令用來查看文件修改的地方

$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 25fb339..344dba9 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1,2 @@
 這是Git倉庫。
+開始學習Git恕汇。
\ No newline at end of file

其中 +開始學習Git就是修改的地方腕唧。

$ git add readme.txt
$ git commit -m "readme.txt 新增一句話:開始使用Git"
[master 5db8876] readme.txt 新增一句話:開始使用Git
 1 file changed, 1 insertion(+)
 $ git status
On branch master
nothing to commit, working directory clean

版本回退

git log 查看提交日志

git log --pretty=oneline

git reset --hard 版本號

HEAD^上個版本

HEAD^^上上個版本

HEAD~100

git reset --hard HEAD~1

git reflog 查看命令行記錄

刪除文件

git rm <file> 用于刪除一個文件。如果一個文件已經(jīng)被提交到版本庫瘾英,那么你永遠不用擔心誤刪枣接,但是要小心,你只能恢復(fù)文件到最新版本缺谴,你會丟失最近一次提交后你修改的內(nèi)容月腋。

遠程倉庫

origin Git默認是遠程倉庫

分支管理

創(chuàng)建與合并分支

Git 鼓勵大量使用分支

git branch 查看分支

git branch <name>創(chuàng)建分支

git checkout <name> 切換分支

git checkout -b <name> 創(chuàng)建+切換分支

git merge <name> 合并某分支到當前分支

git branch -d <name>刪除分支

解決沖突

同時在兩個分支中修改統(tǒng)一文件的位置后。合并代碼便會發(fā)生沖突瓣赂。

$ git merge dev
error: merge is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

此時提示合并有沖突.

git merge --no-ff -m "merge with no-ff" <branch name> 合并分支時候建議使用榆骚。可以查看其他分支的提交信息煌集。

Bug分支

git stash 工作現(xiàn)場保存妓肢。
git stash apply 回復(fù)工作現(xiàn)場 但是不會刪除stash內(nèi)容

git stash drop 刪除保存stash

git stash pop恢復(fù)并刪除

多人協(xié)作

git remote -v 查看詳細的遠程倉庫信息

git push origin <branchName> 所有本地提交推送到遠程倉庫

git pull 從遠程倉庫拉去最新代碼

git checkout -b <branchName> origin/<branchName>本地創(chuàng)建和遠程分支對應(yīng)的分支

git branch --set-upstream-to <branchName> origin/<branchName> 建立本地分支和遠程分支的關(guān)聯(lián)

標簽管理

創(chuàng)建標簽

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搬泥,一起剝皮案震驚了整個濱河市屎开,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌痘拆,老刑警劉巖卷拘,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喊废,死亡現(xiàn)場離奇詭異,居然都是意外死亡栗弟,警方通過查閱死者的電腦和手機污筷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乍赫,“玉大人瓣蛀,你說我怎么就攤上這事±壮В” “怎么了惋增?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長改鲫。 經(jīng)常有香客問我诈皿,道長林束,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任稽亏,我火速辦了婚禮诊县,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘措左。我一直安慰自己依痊,他們只是感情好,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布怎披。 她就那樣靜靜地躺著胸嘁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凉逛。 梳的紋絲不亂的頭發(fā)上性宏,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機與錄音状飞,去河邊找鬼毫胜。 笑死,一個胖子當著我的面吹牛诬辈,可吹牛的內(nèi)容都是我干的酵使。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼焙糟,長吁一口氣:“原來是場噩夢啊……” “哼口渔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起穿撮,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤缺脉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后悦穿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體攻礼,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年栗柒,在試婚紗的時候發(fā)現(xiàn)自己被綠了礁扮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡傍衡,死狀恐怖深员,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛙埂,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布遮糖,位于F島的核電站绣的,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜屡江,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一芭概、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惩嘉,春花似錦罢洲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至耸峭,卻和暖如春桩蓉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背劳闹。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工院究, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人本涕。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓业汰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親菩颖。 傳聞我的和親對象是個殘疾皇子蔬胯,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

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

  • chapter 1: 如何創(chuàng)建版本庫 初始化一個倉庫 $ git init 添加文件到Git倉庫的過程: $ gi...
    飛將軍閱讀 2,888評論 0 2
  • 本系列教程來自廖雪峰的官方網(wǎng)站,現(xiàn)在搬運過來,目的幫助自己和小白學習收藏!附贈:常用git命令清單 目錄 前言 創(chuàng)...
    Blizzard_liu閱讀 1,139評論 0 4
  • 夜里常常想起 那年夏天的離別 每一顆淚水都有要傾訴的必要 每一次歡笑都有被遺忘的可能 紛飛的各色的粉筆屑 是永遠寫...
    成詩閱讀 285評論 0 2
  • 感恩健康讓我和我的家人們生活在世界上不受身體上的痛苦,謝謝你我愛你健康 感恩我一生中所獲得的所有金錢位他,感恩金錢為我...
    e61610af7098閱讀 134評論 0 0
  • 早晨閱讀,喚醒心目中的巨人窿冯,看書兩頁骗奖。晨練20分鐘。上午上班空余時間購買了專欄醒串,學習到的內(nèi)容执桌,要整理轉(zhuǎn)化成自己的知...
    鵬九頭閱讀 260評論 1 5