GIt

Git屬于分散型版本管理系統(tǒng)乃摹。版本管理就是管理更新的歷史記錄讯泣。


安裝Git

Mac和Linux都預裝了Git并炮。
Windows使用msysGit:http://msysgit.github.io/
Use git bash only


初始設置

設置姓名和郵箱地址
git config --global user.name "Firstname Lastname"
git config --global user.email "your_email@example.com"

將color.ui設置為auto可以讓命令的輸出擁有更高的可讀性

git config --global color.ui auto

設置SSH Key

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

之后直接回車鞠值,不用填寫東西矿辽。之后會讓你輸入密碼。然后就生成一個目錄.ssh 蹄殃,里面有兩個文件:id_rsa(私有密鑰) , id_rsa.pub(公開密鑰)携茂,還有一個fingerprint值
把這個SSH放到github上。用公鑰诅岩。先在GitHub上注冊一個用戶讳苦,然后進入account-setting ,把id_rsa.pub的內(nèi)容復制進去就可以了吩谦。
測試OK鸳谜。輸入命令:$ssh -T git@github.com


基本操作

  • 定位——cd ~/
  • git Init ——初始化倉庫
mkdir git-tutorial
cd git-tutorial

然后會生成.git目錄,這個目錄里存儲著管理當前目錄內(nèi)容所需的倉庫數(shù)據(jù)式廷。
將這個目錄的內(nèi)容稱為”附屬于該倉庫的工作樹“咐扭。

  • git status——查看倉庫狀態(tài)
git status

建立README.md文件作為管理對象,未第一次提交做前期準備

touch README.md
  • git add——向暫存區(qū)中添加文件
    將其加入暫存區(qū)(Stage或者Index)中滑废。
git add README.md
  • git commit——保存?zhèn)}庫的歷史記錄
  • 記述一行提交信息
git commit -m "First commit"

First commit是提交信息

  • 記述詳細提交信息
  git commit```
執(zhí)行后編輯器就會啟動蝗肪,在編輯器中記述提交信息的格式如下: 
第一行:用一行文字簡述提交的更改內(nèi)容
第二行:空行
第三行以后:記述更改的原因和詳細內(nèi)容
  `Esc`+`shift`+`z`+`shift`+`z`即可推出編輯器并保存
  `Esc`+`:`+`help`可查看編輯器幫助
* **git log**——查看提交日志
commit欄旁是指向這個提交的哈希值。
* `git log --pretty=short `——只顯示提交信息的第一行
* `git log README.md `——只顯示指定目錄蠕趁、文件的日志
* ` git log -p` ——顯示文件的改動
* **git diff**——查看更改前后的差別
在剛剛提交的README.md中寫:
>\#Git 教程

* `git diff`——查看工作樹和暫存區(qū)的差別
然后將README.md加入暫存區(qū):git add README.md
* `git diff HEAD`——查看工作樹和最新提交的差別
> **養(yǎng)成好習慣**:在執(zhí)行git commit前先執(zhí)行git diff HEAD薛闪,查看本次提交與上次提交之間有什么差別,等確認完畢后再進行提交俺陋,這里的HEAD是指向當前分支中最新一次提交的指針逛绵。

確認過兩個提交之間的差別后就可以執(zhí)行commit命令:

git commit -m "Add index"

查看提交日志怀各,確認提交成功。
***
####分支的操作

* **git branch**——顯示分支一覽表
* **git checkout -b**——創(chuàng)建术浪、切換分支

git checkout -b feature-A等同于
git branch feature-A
git checkout feature-A

在分支A下修改README.md并提交
 * 切換回上一個分支——**git checkout -**
* **git merge**——合并分支

首先切換到master分支
git checkout master
然后
git merge --no-ff feature-A

 * **git log --graph**——以圖表形式查看分支
***
####更改提交的操作
* **git reset**——回溯歷史版本
 * 回溯到創(chuàng)建分支A前

git reset --hard 目標時間點的哈希值

 * 創(chuàng)建分支B修改README.md并提交
 * 推進至分支A合并后的狀態(tài)
`git reflog`可查看當前倉庫執(zhí)行過的操作的日志。找到對應哈希值并回到當時的狀態(tài)寿酌。
 * 消除沖突
合并分支B時分支A更改的部分和分支B發(fā)生了沖突胰苏。
修改README.md文件,然后提交醇疼。
 * **git commit --amend**——修改提交信息
編輯器啟動硕并,修改提交信息后保存退出。
 * **git rebase -i**——壓縮歷史
    * 創(chuàng)建分支C修改README.md并提交C秧荆,故意留下拼寫錯誤倔毙,然后:git commit -am "Add feature-C"完成兩步操作
    * 修正并提交:git commit -am "Fix typo",`錯字漏字等失誤稱作typo`
    * ```
      git rebase -i HEAD~2
出現(xiàn)
     pick 哈希值 Add feature-C
     pick 哈希值 Fix typo
將pick改為fixup便可

分支C合并至master分支。


推送至遠程倉庫

  • git remote add——添加遠程倉庫

git remote add origin git@github.com:DumplingsLi/git-tutorial.git

Git自動將遠程倉庫的名稱設置為origin(標識符)
* **git push**——推送至遠程倉庫
 * 推送至master分支

git push -u origin master

 * 推送至master以外的分支

git checkout -b feature-D
git push -u origin feature-D

***
###從遠程倉庫獲取
* **git clone**——獲取遠程倉庫
 * 獲取遠程倉庫

git clone git@github.com:DumplingsLi/git-tutorial.git
查看當前分支的相關信息
git branch -a

 * 獲取遠程的feature-D分支

git checkout -b feature-D(本地倉庫新建分支名稱) origin/feature-D(獲取來源的分支名稱)

修改分支D并推送乙濒。
* **git pull**——獲取最新的遠程倉庫分支

git pull origin feature-D

一些資源:
[Pro Git](http://git-scm.com/book/zh/v1)  作者:[Scott Chacon](https://github.com/schacon)
[LearningGitBranching](http://pcottle.github.io/learnGitBranching/)
[tryGit](http://try.github.io/)

[Github pages的一些用法](http://www.cnblogs.com/ztoz/p/5515475.html)
最后編輯于
?著作權歸作者所有,轉(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
  • 正文 為了忘掉前任随橘,我火速辦了婚禮喂分,結果婚禮上,老公的妹妹穿的比我還像新娘机蔗。我一直安慰自己蒲祈,他們只是感情好甘萧,可當我...
    茶點故事閱讀 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)容