常用git操作

weixin_33912445發表於2018-07-12

git操作可以分為三大類:

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

1. 本地使用

進到一個安全的位置,比如桌面

cd ~/Desktop/

新建一個名為demo的資料夾

mkdir demo

進到demo資料夾(不能忘!)

cd demo

初始化

git init

檢視demo資料夾會發現多了一個.git檔案,這就是git init的作用

2920775-b6e4ca5d6df213d8.png

再多新建幾個檔案

mkdir image
echo "# demo" > README.md
touch apple.html

2920775-02980e2edcd32cef.png

檢視當前repo的狀態

git status
2920775-b6b317d1905a0ace.png

這裡告訴你有哪些檔案有改動,並且直接忽視了新建的空資料夾
如果覺得這樣顯示太冗長了,可以用下列命令

git status -s
2920775-0f129376a37c9d2a.png

-s即short,短格式
也可以用下列命令

git status -sb
2920775-0da5d363d1c15727.png

-b即branch,分支資訊
紅色問號表示未跟蹤

新增到暫存區
可以每個變動的檔案分別新增

git add README.md
git add apple.html

也可以一次性新增

git add .

或者

git add -A

git add 是個多功能命令:可以用它開始跟蹤新檔案,或者把已跟蹤的檔案放到暫存區,還能用於合併時把有衝突的檔案標記為已解決狀態等

新增到暫存區後再次檢視repo狀態

2920775-1cdeb2567ea5dabf.png

會發現紅色問號變成了綠色A
新新增到暫存區中的檔案前面有 A 標記,修改過的檔案前面有 M 標記。

提交到本地倉庫
同樣可以一個一個地提交

git commit README.md -m "add README.md"
git commit apple.html -m "add apple.html"

也可以統一提交

git commit . -m "新建幾個檔案"

. 表示當前目錄
或者直接

git commit -m message

提交完成後再次檢視repo狀態


2920775-3a7b063db82de126.png

所有檔案都提交後,可以用下列命令檢視提交記錄

git log
2920775-033a427db499fc1a.png

繼續改動
已經提交的檔案如果還想繼續改動呢?我們先開啟一個檔案隨便改動一下

start README.md

start命令會開啟預設編輯器,你就可以編輯指定的檔案了


2920775-2dccc30552cbc86c.png

可以看到我新增了兩行文字
這是再檢視repo狀態


2920775-a29cb3b7b4b6d7d6.png

會發現前面多了一個紅色的M,代表modified
這時候再git add,暫存這次更新
2920775-2f4aabc5f7433a05.png

會發現M由紅色變成了綠色
這時候就可以將這次改動提交到倉庫了

git commit -m "改動 apple.html"

如果要檢視具體的改動資訊,可以用下列命令

git commit -v

這時會呼叫自帶的編輯器vim,第一行留給你插入提交說明,下面則羅列具體的改動


2920775-45c54f7a015efcde.png

進入vim後

  1. i鍵進入插入編輯模式,在第一行輸入commit message
  2. Esc退出編輯模式,切換到命令模式
  3. 輸入:wq儲存並退出vim
    或者先輸入:w回車儲存,然後輸入:q!回車退出vim

這樣就提交成功了。

2. 將本地倉庫上傳到GitHub

  1. 現在GitHub上新建一個空倉庫,除了填入repo的名字,其他都不要操作


    2920775-94610b926fb4f248.png

    建好空倉庫後,GitHub會給出提示


    2920775-f7a7ad4fc26986d7.png

因為我們是已經存在的本地倉庫,所有隻需要複製下面的兩行命令執行就可以了

2920775-904423e12fd2ca57.png

如果git push時像上圖一樣報錯,請參照這篇部落格新增SSH key。

3. 將GitHub上的倉庫下載到本地

2920775-e02d661be7d35822.png

如果你要把一個GitHub上的倉庫下載到本地,點選綠色的Clone or download按鈕,複製https或ssh地址
先進到一個安全的位置比如桌面

cd ~/Desktop/

再clone到本地

git clone 你複製的地址

之後你就會發現桌面上多了一個對應的倉庫資料夾,下載成功。

關於用https和ssh地址clone的區別,參看這裡

2920775-05847a7aab668f9c.png

2920775-f97cc64a3ef1c0dd.png

4. 將本地更新上傳到GitHub

在一頓git add和git commit之後,只需執行下列兩條命令即可將本地更新上傳到GitHub

git pull     # 現將GitHub上的更新同步到本地
git push     # 將本地更新上傳

參考

Git 基礎 - 記錄每次更新到倉庫