[Git] Git常用指令與上傳流程筆記

  • 1927
  • 0
  • 2016-12-14

筆記,歡迎一起討論

常用指令

$ git remote -v → 查詢origin的詳細位址
$ git reset --hard → 將所有資料回復成最近一次Commit時的資料

流程

基本設定

$ git config --global user.name "USERNAME" → 設定上傳者名稱
$ git config --global user.email "MAIL" → 設定上傳者Mail

建立新的Repository

$ git init → 將目前資料夾初始化並建置git環境
新增README檔案後執行以下程式碼

touch README
git add .
git commit -m 'Initial commit'

從遠端取得資料至本機

$ git clone [URL] → 將URL的內容複製至本機
$ git pull → 從遠端更新資料

生成分支並加入檔案

$ git branch v1 → 產生一個v1的branch(分支)
$ git checkout v1 → 移動至v1的branch下
$ git status → 檢查目前所做的更動(修改modified/刪除deleted/未被監控untracked)
$ git add -i → 用互動的方式加入檔案(如下圖)
$ git add -u → 只加入有被修改(modified)的檔案(新建立的檔案不會被加入)
$ git commit → 提交目前branch所做的所有更動(按I進入編輯狀態 / 按Esc退出編輯狀態 / 輸入:wq保存離開 / 輸入:q!捨棄保存離開)

合併branch並上傳檔案

$ git merge v2 → 將v2合併至目前分支
$ git push → 將master上傳(branch在master下時才有作用,用checkout可切換branch)
$ git push --set-upstream origin v1 → 將v1這個branch上傳(如暫時不想合併branch但想上傳可使用,origin就會記錄branch了)

Merge出錯

在merge時
若merge前的檔案比merge後的檔案還要新
就會出現錯誤,範例如下:

<<<<<<< HEAD
Master
Master
Master
=======
V1
V1
V1
V1
V1
V1
>>>>>>> v1


HEAD指的是目前的檔案內容
>>>>>>> v1則為要merge的branch檔案的內容(這裡是要把v1 merge 到master)

修改錯誤檔案

<<<<<<< HEAD>>>>>>> v1之間修改成正確的內容
並將<<<<<<< HEAD=======>>>>>>> v1刪除,範例如下:

Master
Master
Master
V1
V1
V1
V1
V1
V1

Commit修改後的檔案

$ git add -i選取修改後的檔案
$ git commit提交本次修改
這樣就完成本次衝突更動了

 

參考資料

http://tech-marsw.logdown.com/blog/2013/08/16/git-notes-github
https://kingofamani.gitbooks.io/git-teach/content/chapter_5/github.html
https://jeffprogrammer.wordpress.com/category/%E7%89%88%E6%9C%AC%E6%8E%A7%E7%AE%A1/
http://blog.gogojimmy.net/2012/01/17/how-to-use-git-1-git-basic/

 

Write By Charley Chang 


新手發文,若有錯誤還請指教,
歡迎留言或Mail✉給我

創用 CC 授權條款


本著作係採用創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際 授權條款授權.