伺服器上的項目是使用svn進行管理的。 本來本地的項目也是通過svn進行管理的,但是後來使用svn的分支功能進行項目的測試/新功能等等時,總是會出現各種各樣的問題,遂轉投git。 因為git的分支機制和svn的分支機制不一樣,git的更加靈活,強大和穩定。 首先建立一個本地化的git倉庫(需要在空文 ...
伺服器上的項目是使用svn進行管理的。
本來本地的項目也是通過svn進行管理的,但是後來使用svn的分支功能進行項目的測試/新功能等等時,總是會出現各種各樣的問題,遂轉投git。
因為git的分支機制和svn的分支機制不一樣,git的更加靈活,強大和穩定。
首先建立一個本地化的git倉庫(需要在空文件夾下建立)
將伺服器上的項目checkout到創建的git倉庫裡面,此時soureTree里該項目的狀態就發生了變化
然後會發現有許多與svn相關的東西,需要忽略追蹤。(*.svn)
此時需要常規的操作將項目加入到git中(暫存,提交)。
第一次填寫提交信息時會提示填寫用戶名和郵箱(這些是可以隨便填寫的,因為這些是用來標記git項目的,但是格式需要正確)
提交成功之後可以在提交歷史中查看
現在master將作為項目的的主分支而存在,後續項目更新都在分支上進行,用以保證項目的穩定和完整。
基於master建立一個分支
因為選擇了”檢出新分支“所以當前是的分支是branch.
現在修改branch的內容。然後暫存,提交。
通過查看歷史的提交可以看到master分支並沒有出現新增的內容。
然後改變當前的分支為master,將branch的內容合併到主分支。
合併成功查看master的相關內容
如果合併出現衝突需要根據情況進行處理,再次提交就可以了。
衝突之後的提示大概是這樣的:
現在沒有任何問題,就可以按照正常的svn更新流程,將master的新內容提交到遠程的伺服器了。
如果需要將項目推送到遠程的git倉庫,需要註意遠程git倉庫的初始化,不要添加多餘的東西,然後用soureTree添加遠程git倉庫地址。(gitOsChina)
完成之後應該是這個樣子的
然後推送即可。
雖然git本身就提供了git svn相關的操作,可是理解起來比較繞,就依據自己對git和svn使用上的理解自行處理了。