我想看看TFS如何爲我的命令工作。所以我想將我們當前的GIT存儲庫移至TFS數據庫。我們使用GIT支持分支支持,所以我想用TFS 2010解決這個問題。Git到TFS源代碼管理遷移
現在的問題是。我如何將我們的GIT倉庫出口到TFS。顯然它是某種腳本。有沒有人做到這一點?有什麼建議麼?
謝謝。
我想看看TFS如何爲我的命令工作。所以我想將我們當前的GIT存儲庫移至TFS數據庫。我們使用GIT支持分支支持,所以我想用TFS 2010解決這個問題。Git到TFS源代碼管理遷移
現在的問題是。我如何將我們的GIT倉庫出口到TFS。顯然它是某種腳本。有沒有人做到這一點?有什麼建議麼?
謝謝。
微軟已經發布了自己的GIT < - > TFS擴展GIT:GIT-TF
這允許拉從TFS一個新的Git倉庫或配置,讓GIT到TFS推,這是你想要做什麼:
(從文件)
對於一個團隊與現有的Git回購工作,使用Git-TF開發者共享 更改TFS將使用以下工作流程。
# Configure the existing repo's relationship with TFS
git tf configure http://myserver:8080/tfs $/TeamProjectA/Main
# Fetch the latest changes from TFS and merge those
# changes with the local changes.
# Note, merging is important when working in a team configuration.
# See "Rebase vs. Merge" below.
git tf pull
git commit -a -m "merge commit"
# Check in the merge commit as a single TFS changeset
git tf checkin
# Push the merge commit to the origin
git push
此外,已有的開源GIT-TFS解決方案都可以使用(從Windows只,微軟的解決方案使用Java和跨平臺),在回答Git to TFS 2008 one way migration (with history)
該解決方案僅適用於沒有分支機構的情況。如果您有分支機構,更好的解決方案是使用TFS2013(Git) – Philippe
您可以將git導出到svn,並使用CS Converter從svn轉到TFVS。注 - CS Converter已停用,但看起來您仍然可以下載它。
設置一個SVNBridge到TFS,然後使用git-svn clone。
這是git svn update,但您是對的。我已經完成了這件事。 –
我沒有在[Git文檔](http://git-scm.com/docs/git-svn)中看到'git svn update'命令,儘管我找到了'git svn dcommit',其中「將當前分支中的每個diff直接提交到SVN倉庫,然後重新設置[s]或重置[s](取決於SVN和head之間是否存在差異)。這將在SVN中創建一個修訂版本爲每個提交git。「所以如果這應該是一回事? – 2012-08-07 17:11:19
我創建了一個快速批處理文件,但是你需要有團隊基礎電動工具(tfpt.exe)在你的路徑和(命令行loop命令)
Visual Studio的命令行到你想要的git的文件夾並運行以下內容。
git log --pretty="'%%H',%%ci - %%s" --reverse > commits
tf workspace temp /new /s:http://{TfsInstance} /i
tf workfold /map %2 . /workspace:temp
FOR /F "tokens=1* delims=','" %%a IN (commits) DO git checkout %%a && tfpt online /recursive /exclude:.git*,commits,*.obj,*.exe,_ReSharper*,obj,debug,*.user,*.suo,Bin /adds /deletes /i && tf checkin /author:"{AuthorName}" /comment:"%%b" /i
tf workspace temp /delete /i
{TtsInstance}
。{AuthorName}
)註釋將包括git的時間戳(很遺憾,如果不更改TFS服務器的時間,則無法更改簽入時間我會建議反對的)和原作者的名字T他的工作還行,但分支機構不會被保存。我沒有花時間去分析,因爲當時對於這項工作來說這不是一個足夠大的因素。
希望這可以節省一些人一些時間!現在
我將'Thumbs.db'添加到** tfpt **排除列表中。我從git歷史記錄中刪除了它,因爲它在我包含_.gitignore_文件之前被意外添加,並且在運行'.bat'文件時收到錯誤。 –
這是描述一個古老的問題,也許沒有人在尋找這個東西,但現在變得更加容易了。
爲源代碼控制
抓住Git的網址爲項目使用Git創建TFS團隊項目。它會看起來像... https://YOURPROJECTS.visualstudio.com/DefaultCollection/_git/PROJECTNAME
放入類似的命令並執行。
git的遠程添加原產https://YOURPROJECTS.visualstudio.com/DefaultCollection/_git/PROJECTNAME
混帳推-u起源--all
應該是你所需要的。
並不真正有用,因爲在使用TFS託管的GIT時,您不會獲得像您一樣可以隨意使用的全套控件一個完整的TFS管理的項目。 –
爲什麼地獄會有人從git移動到tfs? – hasen
兩個字:更好的工具。我知道git有很多炒作。而Torwalds先生自己寫了一批它,但與這件事SUCKS交互。 我已經使用了19個月了,我已經將它介紹給了團隊,我不認爲它是一顆銀彈。所有的UI工具都是蹩腳的。命令行界面很詳細。我有一套腳本來支持我的工作流程,但這不是我爲之驕傲的解決方案。 加上TFS不僅僅是源代碼控制。這是一個複雜的解決方案:bug跟蹤器,構建系統,VS集成,SP開發人員無法觀察流程並提交錯誤等。 –
Git擴展https://code.google.com/p/gitextensions/正在迅速製作Artem的評論已過時。比捆綁的UI更好的UI。 –