標籤:開發模式 產生 保留 mod soft har oba 合并 命令
一些有用的連結:
https://www.git-scm.com/
http://nvie.com/posts/a-successful-git-branching-model/
Git開發模式:
建議至少有一個master和develop分支。master只做版本維護工作,develop用於開發。開發完成且測試通過後合并到master。
常用情境:
如果你推送到remote的commit沒有被其他人pull過,那麼你可以使用
git reset --hard <commit-hash>
git push -f origin master (假定本地和遠程都是對master進行操作)
來撤銷之前提交的commit。
但是如果有其他人同步過你的push,那麼你可以在本地使用revert來還原你提交的commit,然後產生一個新的commit然後再推送到遠端。
註:如果Remote的commit不是非撤銷不可,可以選擇類似於修正bug的方式繼續開發並推送更新的commit。
git push origin :<delete branch>
主要的命令:git revert和git reset
git revert 是產生一個新的提交來撤銷某次提交,此次提交之前的commit都會被保留,revert操作本身也會被記錄。
git reset 是回到某次提交,提交及之前的commit都會被保留,但是此次之後的修改都會被退回到暫存區(視情況而定)。該操作本身不會被記錄。
--soft 只有commit被復原,index及內容不變
--mixed commit和index都被復原,內容不變
--hard commit和index都被復原,內容被重設,之後的內容無法找回
可能的問題:
情景:
使用git add添加檔案或者使用git status查看狀態時,中文檔案名稱會顯示形如274\232\350\256\256\346\200\273\347\273\223.png 的亂碼
解決方案:
git config --global core.quotepath false
參考連結:http://zengrong.net/post/1249.htm
- Adding a new SSH key to the ssh-agent
參考連結:https://help.github.com/articles/adding-a-new-ssh-key-to-the-ssh-agent
Git相關知識