2017年6月6日

Git 使用情境 記錄


*建立branch
$git branch NewBranch

*切換branch
$git checkout TargetBranch
$git co TargetBranch

*假設目前有二個branch叫做master與bugfix
*為了方便理解 我會在提示字元前面加上目前的branch名稱,例如:
master$ 代表目前在master 這個branch下
bugfix$ 代表目前在bugfix 這個branch下


*Merge
將一個branch的內容合併到另一支branch
EX:把bugfix的修改內容,合併到master
master$ git merge bugfix

*Rebase
將一個branch 基於另一支branch 合併起來
EX:把bugfix的修改內容,合併到master 這個branch之下
bugfix$ git rebase master


*取消上一次的操作
$ git reset --hard ORIG_HEAD

*取消已暫存的檔案
  不小心用add加入了stage
  $ git add filename
  使用指令取消
  $ git reset HEAD filename

*取消修改過的檔案(回復到本來的內容)
$ git checkout -- filename

*取消目前為止修改過的檔案
$ git checkout .

*merge中發生confict,想放棄merge,要取消merge
$ git reset --hard 可取消這次的merge

*取消這次的merge回到merge前的狀態
$ git reset --hard ORIG_HEAD
取消最近一次成功的merge以及所有在這次merge後的修改

*忽略chmod的修改(chmod造成的檔案修改)
git config core.filemode false
有時檔案會因為chmod的關係會讓git認為檔案已修改,造成無法順利pull


沒有留言:

張貼留言