【问题标题】:Push partial file changes in git在 git 中推送部分文件更改
【发布时间】:2021-03-21 07:40:08
【问题描述】:

我试图弄清楚如何将部分文件更改从我的本地 git repo 推送到 tfs git 项目。

对于某些背景,我有一个使用外部 wsdl 的项目。我的机器上有一个 wsdl 的本地开发实例,生产应用程序将在不同服务器上托管的 wsdl 生产版本上运行。我的本地 git 存储库中的项目指向我本地的 dev wsdl,而 tfs 中的生产项目指向远程托管的 wsdl。

我的问题是,当我将代码更改从本地 dev 存储库推送到 tfs 存储库时,我不希望我与 dev wsdl 的连接被推送到更改中。我的最终目标是能够进行代码更改、错误修复等,并将其推送到 tfs 存储库,而无需更改任何生产配置。

我可能会错误地处理这个问题,但找出解决这个问题的最佳方法就是我在这里的原因。是否有开发人员通常使用的特定程序来处理这种情况?

【问题讨论】:

  • 这能回答你的问题吗? Commit only part of a file in Git
  • @mkrieger1 我还没有看到,但我会看看并试一试。谢谢
  • @mkrieger1 这不是我想要的。我应该更精确...当我想将更改移动到 tfs 项目时,我会首先将它们从 dev 分支合并到本地 repo 中的 prod 分支。之后,我会将 prod 分支推送到 tfs 存储库。合并是我遇到问题的地方。我在“樱桃采摘”提交上找到了一些东西,但这似乎不是一种广泛推荐的做法

标签: git visual-studio-code tfs


【解决方案1】:

由于分支之间有不同的配置文件,当你执行合并时,你会遇到冲突。对于这种情况,您可以查看Merge Strategies。

你也可以使用 Git 属性来告诉 Git 使用不同的合并 项目中特定文件的策略。一个非常有用的选择 是告诉Git不要尝试合并特定文件 冲突,而是在某人身上使用您的合并 别人的。

如果您的项目中的某个分支出现分歧或正在 专门的,但您希望能够从中合并更改, 并且您想忽略某些文件。假设你有一个数据库设置 名为database.xml 的文件在两个分支中不同,而您 想要在不搞乱数据库的情况下合并到你的另一个分支 文件。您可以像这样设置属性:

database.xml merge=ours

然后定义一个虚拟的ours 合并策略:

$ git config --global merge.ours.driver true

如果你在另一个分支中合并,而不是出现合并冲突 使用database.xml 文件,您会看到如下内容:

$ git merge topic
Auto-merging database.xml
Merge made by recursive.

在这种情况下,database.xml 会保留您原来的任何版本 有。

.gitattributes - 是存储库的根级别文件,用于定义子目录或文件子集的属性。

【讨论】:

  • 你查看我的回复了吗?有用吗?
【解决方案2】:

这里有一些建议也许你可以试试:

  1. 尝试对您的存储库使用 .gitignore 来忽略您不想推送的文件。
  2. 如果你要推送的文件不是太多,一般只有几个文件,可以使用git add命令将这些文件添加为推送文件。

例如:

git add path/to/file1 path/to/file2 path/to/file3
git commit -m "commit message"
git push

在此示例中,只有文件 path/to/file1、path/to/file2 和 path/to/file3 将被推送到远程存储库。

  1. 如果需要推送的更改文件较多,可以按照以下步骤进行尝试。
  • 确保本地存储库已与远程存储库保持同步。如果没有,请使用 git pull 或 git fetch 命令更新本地存储库。
  • 将本地存储库复制到存储库目录之外的另一个目录中的临时文件夹。
  • 更改临时文件夹中的代码。
  • 使用一些工具,例如Beyond Compare,提取您要推送的更改文件。
  • 将提取的文件复制到本地存储库以覆盖原始文件。
  • 提交并推送更改的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-23
    • 2018-10-04
    • 2015-03-14
    • 2019-02-22
    • 2013-06-12
    • 2011-01-11
    • 1970-01-01
    相关资源
    最近更新 更多