01-Git入門 (配置) 以及git init、git add、git commit -m三個命令的介紹及用法

人之所以喜歡追憶過往,主要因為時光無法倒流,一切的美好和不如意都成云煙,美好不能重復,遺憾無法彌補,所以當下時光千金不易,諸君共勉,只求了無遺憾。人生雖然不能重復,但GIT可以在我們人生中實現部分時光倒流效果,比如可以讓程序員方便的保存代碼的版本,并且能夠快速的切換到指定的版本,如果新代碼出現錯誤,可以再次回到過去,如同通關游戲,打到某個比較好的戰績可以保存一下,防止失敗后,又要重新開始。

一.Git與GitHub的區別:

1.Git是一款軟件,利用它可以對本機的文件進行版本管理。
2.GitHub是一個商業網站,可以作為一個Git服務器,通過web界面來進行一些Git執行操作。
可以認為Git與GitHub的關系就如同USB與USBHub的關系。


二.Git與GitHub配合使用:

Git可以與GitHub配合使用,以實現代碼共享與合作開發,這也是為什么他兩者會被混淆的原因之一。

三.配置Github:

  1. 進入 https://github.com/settings/keys
  2. 如果頁面里已經有一些 key,就點「delete」按鈕把這些 key 全刪掉。如果沒有,就往下看
  3. 點擊 New SSH key,你需要輸入 Title 和 Key,Titile意思是自己的設備備注名,比如你在家和公司用的是不同的電腦,為了區分你可以給他們的title寫一下。如果你現在沒有 key,請繼續看下面的步驟。
  4. 打開 Git Bash (iterm2)
  5. 復制并運行 rm -rf ~/.ssh/* 把現有的 ssh key 都刪掉,這句命令行如果你多打一個空格,可能就要重裝系統了,建議復制運行。
  6. 運行 ssh-keygen -t rsa -b 4096 -C "你的郵箱",注意填寫你的郵箱!
  7. 按回車繼續,中間有一個需要輸入y的地方,輸入一下繼續,然后再按三次,直到出現一堆泡泡狀符號,表示成功。見下圖。

    成功后會在home目下下的.ssh文件夾生成一些文件( 可以查看詳細),其中包含 id_rsa 和 id_rsa_pub ,其中id_rsa就相當于你的指紋鑰匙,id_rsa_pub就是相當于鎖,我們需要做的就是要cat 一下這個id_rsa_pub文件,將其中的密匙上傳到githubSSH keys / Add new頁面中的Key欄里。
  1. 運行 cat ~/.ssh/id_rsa.pub,得到一串東西,完整的復制這串東西
  2. 回到上面第 3 步的頁面,在 Title 輸入「這里輸入任意名字,通常為設備+地點比較好一些。例如 Imac_Commpany
  3. 在 Key 里粘貼剛剛你你復制的那串東西
  4. 點擊 Add SSH key
  5. 回到 Git Bash (iterm2)
  6. 運行 ssh -T git@github.com,你可能會看到這樣2種提示:1種是你第一次用你這個電腦的IP+密匙訪問github,他會問你是否要連接,然后會有yes和no的選項。這里要輸入yes,注意是yes,yes,yes,不是y,重要的事情說三遍,以便于自己能自己能記憶清楚。

(拓展: 其實電腦密匙+ip的訪問記錄都存儲在了本地的 ~/.ssh/known_hosts文件中,如果我們把這個文件刪除了,則會必然出現詢問你第一次訪問yes or no 的情況。刪除命令為 rm ~/.ssh/known_hosts)


  1. 然后如果你看到 Permission denied (publickey). 就說明你失敗了,請回到第 1 步重來,是的,回到第 1 步重來;如果你看到 Hi 某某某! You've successfully authenticated, but GitHub does not provide shell access. 就說明你成功了!

SSH key終于添加好了,想了解原理就看這篇 文章

配置 git

>git config --global user.自己的英文名    # 讓別人知道你是誰
git config --global user.自己的郵箱     # 如果你寫出了bug,這個郵箱就是別人來找到你來罵你的
git config --global push.default simple    # 本來是 matching,不過可能 simple 更好
git config --global core.quotepath false  #防止文件名變成數字
git config --global core.editor "vim"    # 使用vim編輯提交信息

五句話,依次運行。不執行的話,電腦可能會爆炸你信不信。


使用 git

使用 git 有三種方式,主要有:

  1. 只在本地使用
  2. 將本地倉庫上傳到 GitHub
  3. 下載 GitHub 上的倉庫

我們先創建一個本地的空目錄( ~ 指的是/User/mengkunpeng,~ 下的目錄都是自己的文件,所以創建文件夾一定要創建在 ~ 的層級下),代碼為

mkdir ~/git-demo-1



然后進入這個目錄
然后進入這個目錄
然后進入這個目錄
然后進入這個目錄
然后進入這個目錄

cd ~/git-demo-1

如果你不進入這個目錄,電腦會將你當前停留在的目錄當做git倉庫而將當前目錄整個個上傳到github

然后進行初始化

倉庫初始化 git init

git init

我們創建一些文件

touch index.html

然后我們輸入

git status -sb//這里來透露一下 git status -sb 是什么意思:git status 是用來顯示當前的文件狀態的,哪個文件變動了,方便你進行 git add 操作。-sb 選項的意思就是,SB都能看懂,哈,這是開玩笑,-s 的意思是顯示總結(summary),-b 的意思是顯示分支(branch),所以 -sb 的意思是顯示總結和分支。

我們要經常使用這句來查看git倉庫中各種文件的狀態。
當我們執行這句git status -sb的時候,它就會幫我們列出當前git倉庫的這些文件的狀態:

  1. 剛創建的文件(非目錄)會出現?? 意思是git不明白我們這幾個文件將要執行什么操作。
  2. 已經add了的文件,就會變成一個綠色的A
  3. 如果里面包含空文件夾,則git status -sb會跳過空文件夾(熟視無睹)
  4. 還有文件修改了的話,執行這句話會出現靠右的M標記,如果我們將剛才修改的文件添加到add提交區,再次執git status -sb那么靠右的M標記就會變成靠左的M

mkdir css //創建css文件夾
touch css/style.css //在css文件夾內添加 style.css文件

添加文件到索引(暫存區) git add

git add index.html //將index.html添加到索引(暫存區)
git add css//將css文件夾及包含的所有文件添加到索引(暫存區)

git commit -m "第一次提交" //將添加到索引(暫存區)的文件提交到本地的git倉庫,這樣你想恢復的時候,它就可以從倉庫里拿出來。

正式提交」到本地倉庫 git commit -m

git commit -m 是將你 add 過的內容「正式提交」到本地倉庫(.git就是本地倉庫),并添加一些注釋信息,方便日后查閱
你可以一個一個地 commit
git commit index.html -m '添加index.html'
git commit css/style.css -m "添加 css/style.css"
你也可以一次性 commit
git commit . -m "添加了幾個文件"

history //查看我們剛才都做了什么

我們這里改一下文件,看下一系列的操作過程。

open css/style.css //打開style.css

打開后編輯,在里面寫入body {corlor: red}
運行一下git status -sb查看狀態,發現css文件有一個紅色靠右的標記
這說明這個文件比上次已經有了改動,有了改動我們就要將它添加到索引,添加到索引(暫存區)的文件才可以提交(commit),所以我們執行

git add css// 再次將css及其內部文件提交到索引區

運行一下git status -sb//發現剛才的靠右的紅色M變成了靠左的綠色M,表示文件已經添加到了索引區。


總結一下用到的命令

git init,初始化本地倉庫 .git
git status -sb,顯示當前所有文件的狀態
git add 文件路徑,用來將變動加到暫存區
git commit -m "信息",用來正式提交變動,提交至 .git 倉庫
如果有新的變動,我們只需要依次執行 git add xxx 和 git commit -m 'xxx' 兩個命令即可。
git log 查看變更歷史

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,362評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,577評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,486評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,852評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,600評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,944評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,944評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,108評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,652評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,385評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,616評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,111評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,798評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,205評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,537評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,334評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,570評論 2 379

推薦閱讀更多精彩內容