筆記,歡迎一起討論
$ 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後的檔案還要新
就會出現錯誤,範例如下:
<<<<<<< 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 姓名標示-非商業性-相同方式分享 4.0 國際 授權條款授權.