Git相關知識

來源:互聯網
上載者:User

標籤:開發模式   產生   保留   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

如果你推送到remote的commit沒有被其他人pull過,那麼你可以使用

git reset --hard <commit-hash>
git push -f origin master (假定本地和遠程都是對master進行操作)

來撤銷之前提交的commit。

但是如果有其他人同步過你的push,那麼你可以在本地使用revert來還原你提交的commit,然後產生一個新的commit然後再推送到遠端。

註:如果Remote的commit不是非撤銷不可,可以選擇類似於修正bug的方式繼續開發並推送更新的commit。

 

  • 刪除Remote上不需要的分支

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 status/add中文亂碼

情景:

使用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相關知識

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.