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

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

一.Git與GitHub的區(qū)別:

1.Git是一款軟件,利用它可以對本機的文件進行版本管理。
2.GitHub是一個商業(yè)網(wǎng)站,可以作為一個Git服務(wù)器,通過web界面來進行一些Git執(zhí)行操作。
可以認(rèn)為Git與GitHub的關(guān)系就如同USB與USBHub的關(guān)系。


二.Git與GitHub配合使用:

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

三.配置Github:

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

    成功后會在home目下下的.ssh文件夾生成一些文件( 可以查看詳細(xì)),其中包含 id_rsa 和 id_rsa_pub ,其中id_rsa就相當(dāng)于你的指紋鑰匙,id_rsa_pub就是相當(dāng)于鎖,我們需要做的就是要cat 一下這個id_rsa_pub文件,將其中的密匙上傳到githubSSH keys / Add new頁面中的Key欄里。
  1. 運行 cat ~/.ssh/id_rsa.pub,得到一串東西,完整的復(fù)制這串東西
  2. 回到上面第 3 步的頁面,在 Title 輸入「這里輸入任意名字,通常為設(shè)備+地點比較好一些。例如 Imac_Commpany
  3. 在 Key 里粘貼剛剛你你復(fù)制的那串東西
  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文件中,如果我們把這個文件刪除了,則會必然出現(xiàn)詢問你第一次訪問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  #防止文件名變成數(shù)字
git config --global core.editor "vim"    # 使用vim編輯提交信息

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


使用 git

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

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

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

mkdir ~/git-demo-1



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

cd ~/git-demo-1

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

然后進行初始化

倉庫初始化 git init

git init

我們創(chuàng)建一些文件

touch index.html

然后我們輸入

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

我們要經(jīng)常使用這句來查看git倉庫中各種文件的狀態(tài)。
當(dāng)我們執(zhí)行這句git status -sb的時候,它就會幫我們列出當(dāng)前git倉庫的這些文件的狀態(tài):

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

mkdir css //創(chuàng)建css文件夾
touch css/style.css //在css文件夾內(nèi)添加 style.css文件

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

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

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

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

git commit -m 是將你 add 過的內(nèi)容「正式提交」到本地倉庫(.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查看狀態(tài),發(fā)現(xiàn)css文件有一個紅色靠右的標(biāo)記
這說明這個文件比上次已經(jīng)有了改動,有了改動我們就要將它添加到索引,添加到索引(暫存區(qū))的文件才可以提交(commit),所以我們執(zhí)行

git add css// 再次將css及其內(nèi)部文件提交到索引區(qū)

運行一下git status -sb//發(fā)現(xiàn)剛才的靠右的紅色M變成了靠左的綠色M,表示文件已經(jīng)添加到了索引區(qū)。


總結(jié)一下用到的命令

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容