2014-11-21 26 views
0

我一些混帳VSS工作的互操作和我接觸過與SS同步我的git的主路被是git的重訂錯了/就在這種情況下(同步用的SourceSafe庫git的主人)

  1. git checkout vss_branch

  2. ss get。 -W-R -Q-Y $ SSNAME

  3. git的結帳主

  4. git的重訂vss_branch主

而且我不知道最後一部分,我的閱讀方式它與提到的建議相矛盾here

這裏的基本邏輯是,「vss_branch」總是隻是VSS中當前任何東西的直接複製副本,「ss獲得。 -W -R -Q -Y $ SSNAME「將所有內容從源代碼安全地作爲可寫副本獲取。

我把主人視爲」我的構建分支「,所以我」合併「我的開發分支到那個時候我覺得自己的代碼是閱讀this advice我覺得我周圍做了錯誤的方式之後,但是「建準備」

的原因,我現在更喜歡「混帳變基」,而不是「混帳合併」是混帳合併拋出了一堆衝突,而rebase沒有......但這似乎很像「那個似乎工作,所以我會用那個」的方法。我擔心,實際上git rebase會導致重複相同合併衝突一遍又一遍,如果我通過幾個提交重複更改一段代碼,並且其他人對同一段代碼進行一些小改動。

我感謝所有幫助獲取/讓我在正確的軌道

回答

0

我碰到一個非常有趣的功能在混帳來到

git branch --set-upstream-to <branch/remote> 

這讓我

git branch --set-upstream-to vss_branch 

這創造我實際想要的關係。在我確實做錯了之前,因爲vss_branch是主人的一個分支,並且rebase變得痛苦(更多更改=更多時間)。

這使我可以使用git pull,git push和vss_branch。

使用默認設置「git pull」只需將vss_branch拖放到主設備上。

但因爲「主」和「vss_branch」不共享相同的名字,我不得不使用

"git push . HEAD:vss_branch" 

這解決了問題,但是如果你發現自己這樣做,你做一些很奇怪。

更好的解決方案,因爲Git是分佈式的,可能是創建您的計算機上的另一個文件夾,你實際上設置爲「原點」

例如:

git remote add <NAME> <PATH> 

將增加一個新的遠程並且你可以

git remote add origin /c/path/to/alternate/folder 

這意味着你需要兩個文件夾,但如果其中的一個是外部硬盤驅動器上的發言權,那麼你實際上是增加你的數據保護。

在這一點上,你可以使用git push和pull,然後你將另一個文件夾當作你的「上游」,這就是我在這裏所要做的,以及爲什麼我現在對「set-upstream」選項感到滿意

它適合我,這在現實中意味着我想要的是「合併」,因爲這是默認的「拉」。但我不能說這是正確的「答案」,因爲這更符合我的工作流程和當前的意見「什麼有效」