Idea下svn的分支主幹開發

  1. 一個問題
       我正在本地項目中開發一個小功能,還沒進行提交。突然,這時候來了一個大功能需要進行開發,於是我手忙腳亂的進行大功能的開發。就要到小功能上線的時候了,於是我開始編譯項目;突然發現,這個小功能涉及的代碼中,有一個類文件在大功能中也有涉及,這樣的話,編譯出來的類文件包含了大功能開發中的代碼,但是那些代碼還沒有進行測試,更不要說上線了。
       於是,我靈機一動,先將這類文件複製一份,然後將需要編譯的文件中大功能的代碼刪除,再重新編譯。但是,天有不測風雲,由於刪除了這段代碼,導致其他地方的代碼受到牽連,編譯不通過。就在一籌莫展時,突然想起了分支主幹開發方法,以前只是聽說,現在好像到了用武之地,於是去百度各種查詢,最終完成了任務。

  2. 解決方法
    IDEA創建代碼分支
    在整個項目上右鍵然後按照圖上所示點擊

    上圖點開後的界面
    解釋
      標號1:將本地代碼複製用來創建分支,其中包括你修改了還未提交到主幹的代碼,也就是說是你開發的最新進度的代碼。我正是需要這樣複製。
      標號2:從svn指定文件上覆制,很容易理解
      標號3:將分支複製到指定的svn地址,並且爲分支命名。
      標號4:將分支複製到指定的svn地址,感覺和3類似。
      接下來點擊ok就可以創建分支了。

    將分支代碼down到本地:這個就不用解釋了,基本操作。
      如果你在上一個步驟複製時,選擇的是標號1:那麼此時你的本地分支代碼就是你開發的最新的代碼,包括未提交到主幹的代碼;如果選擇的是標號2:那麼此時你的本地分支代碼和主幹代碼一樣,你還需要將開發的新功能的代碼拷貝到你的本地分支代碼中,我的做法是直接將本地分支代碼項目裏的文件直接刪除,然後將最新的項目代碼整個複製到分支項目。

    分支代碼合併主幹代碼
      爲什麼要這樣做?例如:你在分支上開發時,需要用到某一個類或者類中方法,但是主幹代碼中,其他人開發後將這個類或者某個方法刪除了並進行了提交,如果這時你沒有從主幹更新代碼到分支,那麼後續等你在分支開發完準備合併到主幹時,會出現各種衝突與bug。
      怎麼做?按照下圖的步驟點擊:
    在這裏插入圖片描述
    標號3點開後的界面:
    在這裏插入圖片描述
    標號1代表主幹項目的svn地址,點擊左下腳+號創建分支代碼svn地址:
    在這裏插入圖片描述
    可以看到我創建的分支與主幹在同一個主目錄下,在這種情況下,分支位置要指向主目錄,後面會解釋。
    在這裏插入圖片描述
    這時可以進行合併主幹代碼到分支了:(注意:合併之前記得先更新與提交分支的代碼)
    點擊左下腳:在這裏插入圖片描述
    點擊後出現選擇要合併的分支,這時候選擇箭頭指的主幹
    在這裏插入圖片描述
    在這裏插入圖片描述
      標號1:合併所有未合併的版本
      標號2:快速手動合併,可以手動選擇需要合併的版本,放棄不需要合併的版本
      標號3:沒研究,有點不是很懂
      當開始合併後,有可能會發生衝突,需要解決完衝突,然後合併成功。

    分支代碼開發與提交
    這時候,可以進行分支代碼的開發了,提交的話也是提交代碼到svn分支代碼的項目中。

    分支代碼合併到主幹
    與上述主幹合併到分支類似,只是需要在主幹項目中進行操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章