在团队基础服务器 TFS 上克隆的一个 bitbucket repo 上拉取更改

Pull changes on one bitbucket repo cloned on team foundation server TFS

我在开发团队担任设计师,他们的项目代码托管在 Team Foundation Server 版本 15.112.26307.0

他们希望我将我的 HTML/CSS/JS 项目放在他们的 TFS 上的一个文件夹中。

实际上,我的设计项目位于 bitbucket.org 上托管的私人 GIT 存储库中。

我读过 clone a GIT repo on TFS 但找不到我的问题的答案:

  1. 有一种方法可以将 bitbucket GIT 中所做的更改拉到 TFS 克隆的 repo 上以始终同步吗?

  2. 如果没有,我可以在我的计算机上克隆 TFS 存储库的本地副本(之前从 bitbucket 克隆)(git 克隆 http://tfsdevprojectrepo.com/repodir)然后推送我的像我现在对 bitbucket 项目所做的那样更改 TFS 上的主项目?

欢迎提供任何帮助或线索,因为我在 google 上找不到任何关于此的内容

无法自动将 TFS git 存储库与 bibucket 存储库同步。并且根据您的情况,这两个远程仓库具有不同的提交历史记录。所以没有必要总是同步两个repos,但是你可以不时地从bitbucket中拉取更改到TFS。

我列出了根据不同情况将更改从 bitbucket(假设更改在 bitbucket repo master 分支上)提取到 TFS 的详细步骤:

  • 如果更改需要推送到 TFS 存储库的单独分支:

    git clone http://tfsdevprojectrepo.com/repodir
    cd repodir
    git remote add upstream <URL for bitbucket repo> -f
    git checkout -b newbranch upstream/master
    git push -u origin newbranch
    
  • 如果更改需要推送到现有 TFS 分支的文件夹(假设文件夹名称为 project1):

    git clone http://tfsdevprojectrepo.com/repodir
    cd repodir
    git remote add upstream <URL for bitbucket repo> -f
    # If the folder project1 not exist, use mkdir project1 to create. Else skip this step
    git --work-tree=/full/path/to/repodir/project1 checkout upstream/master .
    git add .
    git commit -m 'add files from bitbucket master to project1 folder'
    git push
    

    注意: --work-tree 选项应该使用完整路径。假设您在 d:\repo 中克隆 TFS 存储库,您应该使用 --work-tree=d:/repo/repodir/project1。还要注意,如果您使用 windows OS,您应该将路径的 \ 更改为 /