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


MYSQL on MAC 設定筆記


/usr/local/mysql/my.cnf

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

MySQL5.0.2版本中的The Server SQL Mode 中新加了幾種 sql_mode,並且在sql的my.ini文件中的sql-mode 默認增加了其中的二種,一個是STRICT_TRANS_TABLES,就是導致auto_increament失敗的mode,這個sql_mode主要用于 當一個值不能插入到表中是,則産生一個錯誤而不是一個警告並終止會話。

#有時太小會導致寫入失敗,預設值好像才1M
max_allowed_packet = 20M