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

标签 git version-control environment

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

主桌面

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

笔记本电脑

有时我想在路上写代码,所以我从内部服务器克隆了一个,并创建了一个名为“laptop-branch”的新分支。不幸的是,某些目录 MSVC++ 版本与 Main Desktop 环境不同。我刚刚修改了“laptop-branch”中的文件并将它们提交到那里。

现在我在度假时用我的笔记本电脑做了很多更改,并想将它们推送到源,但不希望我所做的与目录和编译器版本相关的更改被推送回源。

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

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

最佳答案

我这样做的方式...

...不是通过 .gitignore 提交环境特定文件。

在 CodeIgniter 中这意味着

  • .htaccess
  • database.php
  • config.php

就是这样。

根据您的 应用程序的设置方式,这可能会产生不同的效果。大多数情况下,我会说 config.example.phpexample.htaccess提交。然后,如果我必须设置一个环境,我将修改这些环境并在此过程中重命名它们。因为它们会被 git 忽略,所以你不必担心。

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

关于git - 如何使用git管理一个代码库但有不同的环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2964120/

相关文章:

svn - 检查subversion中的最后提交消息

ruby-on-rails - 在开发环境中静音 Rails memcache 日志记录

git - 防止 git stash 使用非托管文件?

Git:接收电子邮件后 Hook 以显示 html 格式的颜色差异?

解决冲突后的Xcode 9.3 Git merge Issue

git - "origin"之后的分支是本地分支还是远程分支?

svn - 可扩展(50 万个文件)版本控制系统

java - 在 java :comp/env? 中设置属性

exception - Selenium 和 headless (headless)环境

git - GitHub 和 GitLab 是否支持 git clone 的 --filter 参数?