GitHub入門與實(shí)踐 二

#第四章 通過實(shí)踐操作 學(xué)習(xí)Git

4.1 基本操作

  • git init---初始化倉庫
$ mkdir git-tutorial
$ cd git-tutorial
$ git init
Initialized empty Git repository in /Users/hirocaster/github/github-book
/git-tutorial/.git/

執(zhí)行了 git init命令的目錄下就會生成 .git 目錄。這個 .git 目錄里存儲著管理當(dāng)前目錄內(nèi)容所需的倉庫數(shù)據(jù)姆涩。

  • git?status——查看倉庫的狀態(tài)
$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

稍加改變后

$ touch README.md
$ git status
# On branch master
#
# Initial commit
## Untracked files:# (use "git add <file>..." to include in what will
be committed)#
# README.md
nothing added to commit but untracked files present (use "git add" to
track)
  • git?add——向暫存區(qū)中添加文件
$ git add README.md
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: README.md
#

可以明顯的看到狀態(tài)的變化

  • git?commit——保存?zhèn)}庫的歷史記錄
    -記述一行提交信息
$ git commit -m "First commit"
[master (root-commit) 9f129ba] First commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md

-m 參數(shù)后的 "First commit"稱作提交信息援岩,是對這個提交的
概述变逃。

-記述詳細(xì)提交信息

● 第一行:用一行文字簡述提交的更改內(nèi)容
● 第二行:空行
● 第三行以后:記述更改的原因和詳細(xì)內(nèi)容

  • 查看提交后的狀態(tài)
$ git status
# On branch master
nothing to commit, working directory clean
  • git?log——查看提交日志
$ git log
commit 9f129bae19b2c82fb4e98cde5890e52a6c546922
Author: hirocaster <hohtsuka@gmail.com>
Date: Sun May 5 16:06:49 2013 +0900
First commit

不妨養(yǎng)成這樣一個好習(xí)慣:在執(zhí)行 git commit命令之前先執(zhí)行g(shù)it diff HEAD命令欧引,查看本次提交與上次提交之間有什么差別,等確認(rèn)完畢后再進(jìn)行提交重贺。這里的 HEAD 是指向當(dāng)前分支中最新一次提交的指針耿导。

4.2 分支的操作

通過靈活運(yùn)用分支声怔,可以讓多人同時高效地進(jìn)行并行開發(fā)。

  • git?branch——顯示分支一覽表
$ git branch
* master

git?checkout?-b——創(chuàng)建舱呻、切換分支
切換到 feature-A 分支并進(jìn)行提交
git?branch——顯示分支一覽表

  • 切換回上一個分支
$ git checkout -
Switched to branch 'feature-A'
  • 特性分支

特性分支顧名思義醋火,是集中實(shí)現(xiàn)單一特性(主題),除此之外不進(jìn)
行任何作業(yè)的分支箱吕。

  • git?merge——合并分支

$ git merge --no-ff feature-A

4.3 更改提交的操作

    1. git?reset——回溯歷史版本
  1. 要讓倉庫的 HEAD芥驳、暫存區(qū)、當(dāng)前工作樹回溯到指定狀態(tài)茬高,需要用
    到 git rest --hard命令兆旬。
    1. 創(chuàng)建 fix-B 分支
$ git checkout -b fix-B
Switched to a new branch 'fix-B'
    1. 使用 git reflog命令,查看當(dāng)前倉庫的操作日志怎栽。
  • 消除沖突
  • git?commit?--amend——修改提交信息
  • git?rebase?-i——壓縮歷史
  • 修正拼寫錯誤

$ git rebase -i HEAD~2

4.4 推送至遠(yuǎn)程倉庫

  • git?remote?add——添加遠(yuǎn)程倉庫
  • git?push——推送至遠(yuǎn)程倉庫
  • 推送至 master 以外的分支

$ git checkout -b feature-D

$ git push -u origin feature-D

4.5 從遠(yuǎn)程倉庫獲取

  • git?clone——獲取遠(yuǎn)程倉庫
  • git?pull——獲取最新的遠(yuǎn)程倉庫分支
  • 如果兩人同時修改了同一部分的源代碼丽猬, push 時就很容易發(fā)生沖突。所以多名開發(fā)者在同一個分支中進(jìn)行作業(yè)時熏瞄,為減少沖突情況的發(fā)生脚祟,建議更頻繁地進(jìn)行 push 和 pull 操作。

4.6 幫助大家深入理解 Git 的資料

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末强饮,一起剝皮案震驚了整個濱河市由桌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌邮丰,老刑警劉巖行您,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異剪廉,居然都是意外死亡娃循,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門斗蒋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來淮野,“玉大人捧书,你說我怎么就攤上這事≈栊牵” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵爆哑,是天一觀的道長洞难。 經(jīng)常有香客問我,道長揭朝,這世上最難降的妖魔是什么队贱? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮潭袱,結(jié)果婚禮上柱嫌,老公的妹妹穿的比我還像新娘。我一直安慰自己屯换,他們只是感情好编丘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著彤悔,像睡著了一般嘉抓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晕窑,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天抑片,我揣著相機(jī)與錄音,去河邊找鬼杨赤。 笑死敞斋,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疾牲。 我是一名探鬼主播植捎,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼说敏!你這毒婦竟也來了鸥跟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤盔沫,失蹤者是張志新(化名)和其女友劉穎医咨,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體架诞,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拟淮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了谴忧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片很泊。...
    茶點(diǎn)故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡角虫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出委造,到底是詐尸還是另有隱情戳鹅,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布昏兆,位于F島的核電站枫虏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏爬虱。R本人自食惡果不足惜隶债,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望跑筝。 院中可真熱鬧死讹,春花似錦、人聲如沸曲梗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽稀并。三九已至仅颇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碘举,已是汗流浹背忘瓦。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留引颈,地道東北人耕皮。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像蝙场,于是被迫代替她去往敵國和親凌停。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評論 2 355

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

  • 1.GitHub 有什么用 學(xué)習(xí)優(yōu)秀的開源項(xiàng)目開源社區(qū)一直有一句流行的話叫「不要重復(fù)發(fā)明輪子」售滤,某種意義上正是因?yàn)?..
    Clemente閱讀 1,433評論 1 14
  • 遠(yuǎn)程倉庫 到目前為止罚拟,我們已經(jīng)掌握了如何在Git倉庫里對一個文件進(jìn)行時光穿梭,你再也不用擔(dān)心文件備份或者丟失的問題...
    歸云丶閱讀 1,961評論 0 5
  • PS:小白的入門筆記完箩,希望能有用赐俗,主要參考廖君Git教程 操作環(huán)境說明: github倉庫 https://git...
    呆呆的張先生閱讀 595評論 3 2
  • Git 是目前最流行的分布式版本控制系統(tǒng)之一。 版本控制指的是弊知,記錄每次版本變更的內(nèi)容和時間等細(xì)節(jié)阻逮,保留各版本之間...
    神齊閱讀 1,427評論 0 7
  • “我試圖去尋找存在這里的價值和真理,空虛卻像霧一樣擴(kuò)散開來秩彤,這空虛令人無從懷疑叔扼,而我需要風(fēng)事哭,所以不斷地走,這美麗的...
    虂陸閱讀 201評論 0 0