如何使用git管理一个代码库,但有不同的环境

如何使用git管理一个代码库,但有不同的环境,git,version-control,environment,Git,Version Control,Environment,目前我正在为一个个人项目使用git,遇到了两个不同环境下使用一个代码库的问题,我想知道使用git最干净的方法是什么 主桌面 我的大部分开发工作都使用这台机器。我在这里有一个git存储库,它是从我在内部服务器上使用的空存储库中克隆出来的。我在这里做了大部分工作,并将其推回到内部服务器,这样我就可以将其用作了解真相的大师,并简化备份 笔记本电脑 有时我想在路上编写代码,所以我从内部服务器克隆了一个代码,并创建了一个名为“膝上型分支”的新分支。不幸的是,MSVC++版本的某些目录与主桌面环境不同。我只

目前我正在为一个个人项目使用git,遇到了两个不同环境下使用一个代码库的问题,我想知道使用git最干净的方法是什么

主桌面 我的大部分开发工作都使用这台机器。我在这里有一个git存储库,它是从我在内部服务器上使用的空存储库中克隆出来的。我在这里做了大部分工作,并将其推回到内部服务器,这样我就可以将其用作了解真相的大师,并简化备份

笔记本电脑 有时我想在路上编写代码,所以我从内部服务器克隆了一个代码,并创建了一个名为“膝上型分支”的新分支。不幸的是,MSVC++版本的某些目录与主桌面环境不同。我只是修改了“笔记本电脑分支”中的文件,并将它们提交到那里

现在我带着笔记本电脑在度假时做了很多更改,我想把它们推到origin,但不想把我所做的与目录和编译器版本相关的更改推回到origin

完成这项工作的最佳方式是什么

编辑:在这种情况下,它不是一个配置文件,而是一个已更改的VC++解决方案/项目文件。

我这样做的方式。。。 …不是通过
.gitignore
提交特定于环境的文件

在CodeIgniter中,这意味着

  • .htaccess
  • database.php
  • config.php
就这样

根据应用程序的设置方式,这可能会产生不同的效果。主要是我将提交say
config.example.php
example.htaccess
。然后,如果我必须设置一个环境,我将修改它们并在过程中重命名它们。因为他们被git忽略了,所以你不必担心


如果您有大量特定于环境的代码,那么您需要重新考虑应用程序的布局

我认为现在讨论解决方案为时已晚

我想:

  • 在台式机上创建笔记本电脑分支
  • 从此分支上的笔记本电脑中提取更改
  • 签出不应从主分支更改的配置文件
  • 验证它是否工作,并旋转直到它工作
  • 承诺
  • 签出主分支
  • 将其与笔记本电脑分支合并

+1,我希望得到一些有趣的答案。我喜欢这个问题,但这似乎更多地属于堆栈溢出领域。@MrStatic:你可能是对的。这更适合堆栈溢出。我也为我正在开发的一个web应用程序做了这项工作,但在开发部署方法时遇到了一些问题。我最终在配置文件中管理了我的环境(这是一个Django应用程序,因此您可以在配置文件中使用Python),但仍然认为这是一个肮脏的黑客行为,而不是肮脏的黑客行为。它是管理多个环境的标准操作过程,几乎一直都是这样。本地环境、开发环境、登台环境、实时环境。很难测试,所以在我看来这是一个肮脏的黑客行为。@emostar:你说的“很难测试”是什么意思?也许我们当时谈论的是不同的事情。。。我说的是在Django配置文件中使用python,这使得基于您编写的python代码进行环境测试变得很困难。嗯,有一个桌面分支不是更好吗,这样两台机器都可以与主分支同步?然后我从台式机开始处理台式机分支,从笔记本电脑开始处理笔记本电脑分支,从master开始合并/重设基础?是的,这是一个更好的方法。但是,正如Josh所提到的,您确实希望排除git中那些依赖于机器的文件。它们几乎没有价值,即使您需要它们,当您再次签出它们时,它们也可能不再与IDE兼容。这太麻烦了,不值钱。