【问题标题】:How to merge changes from Github to TFS如何将 Github 的更改合并到 TFS
【发布时间】:2018-02-16 20:56:54
【问题描述】:

因此,我正在为一家拥有小团队的公司半远程地开展一个项目。我们只有一台支持 VPN 的笔记本电脑来访问他们的 TFS,它仍然在一个安全的办公室中。我们想使用 Github 进行协作,将我们所有的工作放到公司的笔记本电脑上,然后将这些工作转移到公司的 TFS。

但是,我找不到将笔记本电脑上的 Github 存储库的更改合并到笔记本电脑上的 TFS 存储库的方法,而无需暴力破解 ctrl-c/ctrl-v 似乎不是理想解决方案的目录.

这是笔记本电脑上的文件情况,箭头指示所需的更改传输

有什么干净的方法可以做到这一点吗?

【问题讨论】:

  • git 是否在 TFS 上初始化?左边的窗口
  • @miqdadamirali 否,在 TFS 存储库中初始化 git 会导致同步问题;我们无法让 Visual Studio 无法同时管理同一个项目的两个源代码控制连接。
  • 你为什么不把 TFS 和 GitHub 作为两个独立的遥控器添加,只用 Git 来做 pull/merge/push 工作流?

标签: github tfs


【解决方案1】:

您可以通过以下步骤将更改从 github 合并到 TFS 存储库:

  1. 将文件移动到本地 github repo 的子文件夹中

    假设DEV是TFS git repo根目录的子文件夹,你可以在github repo中创建相同的文件夹DEV,并移动子文件夹中的文件:

    # In local github repo
    mkdir DEV
    mv * DEV
    git add . 
    git commit -m 'move files into DEV folder'
    
  2. 添加本地 github 存储库作为本地 TFS 存储库的远程

    假设 C:\GitHub\My_Workflow_Dashboard 中的本地 github 存储库,那么您可以将本地存储库添加为本地 TFS git 存储库的远程:

    git remote add github C:/GitHub/My_Workflow_Dashboard -f
    
  3. 将来自 github 的更改合并到 TFS 存储库中

    然后您可以通过以下命令将 github(如 master 分支)的更改合并到 TFS:

    git merge github/master --allow-unrelated-histories
    git push 
    

    或者您可以添加 -X theirs 选项 (git merge github/master --allow-unrelated-histories -X theirs) 通过保留来自 github 存储库的版本来自动解决合并冲突。

【讨论】:

    猜你喜欢
    • 2011-05-29
    • 1970-01-01
    • 2016-03-20
    • 2010-11-22
    • 2010-12-15
    • 1970-01-01
    • 2014-11-26
    • 2013-11-13
    • 2017-05-31
    相关资源
    最近更新 更多