我正在尝试弄清楚如何将部分文件更改从本地 git 存储库推送到 tfs git 项目。
对于一些背景,我有一个使用外部 wsdl 的项目。我的计算机上有一个 wsdl 的本地开发实例,生产应用程序将在托管于不同服务器上的 wsdl 生产版本上运行。我的本地 git 存储库中的项目指向我的本地开发 wsdl,tfs 中的生产项目指向远程托管的 wsdl。
我的问题是,当我将代码更改从本地开发存储库推送到 tfs 存储库时,我不希望与开发 wsdl 的连接随更改一起推送。我的最终目标是能够进行代码更改、错误修复等,并将这些内容推送到 tfs 存储库,而无需更改任何生产配置。
我可能会错误地处理这个问题,但找出解决这个问题的最佳方法就是我来这里的原因。开发人员通常使用特定的程序来处理这种情况吗?
由于分支之间有不同的配置文件,因此当您执行合并时,会出现冲突。对于这种情况,您可以检查合并策略。
您还可以使用 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
- 是存储库的根级文件,用于定义子目录或文件子集的属性。
这里有一些建议也许你可以尝试一下:
.gitignore
来忽略您不想推送的文件。例如:
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
将被推送到远程存储库。
git pull
或 git fetch
命令更新本地存储库。你可以安装“commit groups”vs code插件,这可以让他上传分组的文件