我myrepo
在远程beanstalk
服务器上调用了一个repo .
我把它克隆到我的本地机器上.创建了两个额外的分支:staging
和dev
.将这些分支推向远程.
现在:
local remote server
--------------------------------------------------------
master ==> Pushes to `master` ==> deployed to `prod`
staging ==> Pushes to `staging` ==> deployed to `staging`
dev ==> Pushes to `dev` ==> deployed to `dev`
Run Code Online (Sandbox Code Playgroud)
我有一个文件config.xml
,在每个分支上都有不同的名称.
我想仅在合并期间忽略此文件.但是我希望在结帐或从/向repo分支提交时包含它.
我想要的原因是,我们有一个部署脚本,可以拉出(签出)特定分支并在各自的服务器上部署.因此,我们需要config.xml
特定分支的文件在部署时进入特定服务器,如上所示.
我想.gitignore
不会工作.还有什么其他选择?请注意,被忽略的文件应该是checkout和commit的一部分,这很重要.它只应在合并期间被忽略.
谢谢!
假设我通过git存储库与某人合作,并且有一个特定的文件,我永远不想接受任何外部更改.
有没有办法让我设置我的本地仓库,以便每当我拉动时不抱怨冲突的合并?我想在合并此文件时始终选择我的本地版本.
假设我想从发布分支合并到主分支,并且在发布分支中有一些我不希望包含在主分支中的提交.有没有办法进行合并,以便一个或多个提交不会合并?
到目前为止,我的策略是执行以下操作(在掌握中):
git merge --no-commit release-branch
# Resolve conflicts and apply reverse patch of the commits that I don't want included
git commit # Edit commit message so that it lists the commits that have been reverse-patched
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
我是一名WordPress设计师/开发人员,他越来越多地参与使用版本控制,特别是Git,尽管我在某些项目中使用了SVN.我目前正在使用Beanstalk作为我的远程仓库.
将所有WordPress文件添加到我的仓库是没有问题的,如果我想知道我可以.gitignore wp-config文件,但由于我是目前唯一的开发人员,而且这些项目是封闭源代码,它确实使得没什么感觉.
WordPress在很大程度上依赖于数据库,就像任何CMS一样,保留文本内容和许多设置,具体取决于我正在使用的特定插件/主题配置.我想知道在数据库上使用版本控制的最佳方法是什么,如果可能的话.我想我可以做一个SQL转储,虽然我的MySQL服务器在Windows上运行(读作:我不知道该怎么做),然后将SQL转储添加到我的存储库.但是当我推送一些东西时,这会带来巨大的安全威胁.
有这样做的公认做法吗?
我们有两个分支 - "主人"和"释放"
我们有一个文件,比如fileA
,我们希望在这两个分支上保留不同的版本.
但每一次,我们必须将'release'合并为'master',我们怎样才能实现,fileA
'master'不会被fileA
in分支'release' 覆盖.
我正在建立一个有两个分支的(Django)网站:master
和dev
.
master
是生产版本,不应该直接在这里完成任何工作.dev
一旦被认为是稳定的,所有的变化应该来自合并分支.
dev
正如您可能猜到的那样,是开发分支,所有更改都在这里(和子分支)进行.
在服务器中我有两个工作的网站,生产一个(使用master
分支)和另一个私有开发,dev
子域使用dev
分支.
问题是所有配置文件,静态文件(图像等)都在控件版本内,以便能够轻松地将它们推送到服务器.但是,如果这些文件(静态,配置...)被修改dev
为只在服务器中调试然后我需要与主服务器合并... 我怎样才能设置一些文件和目录在合并开发时被忽略主?
我一直在寻找,我已经发现了一些相关的问题,但他们告诉你使用.gitattributes
带merge=ours
.但是,这种方法有一个很大的警告:只有在两个分支中修改文件时才应用策略,但这不是我的情况.
关于我该怎么做的任何提示?
在另一个问题中,建议使用.gitattributes
以保持文件被跟踪但不合并到不同的分支,但我下面的用例似乎不起作用..
mkdir git
cd git
git init
echo "B" > b.txt
git add b.txt
git commit -m 'Initial commit'
echo "b.txt merge=keepMine" > .gitattributes
git add .gitattributes
git config merge.keepMine.name "always keep mine during merge"
git config merge.keepMine.driver "keepMine.sh %O %A %B"
git commit -m 'Ignore b.txt'
git checkout -b test # Create a branch
git checkout master # Back to master and make change
echo "Only in master" > b.txt
git commit -a -m 'In …
Run Code Online (Sandbox Code Playgroud) 到现在为止,我仅使用fetch + merge方法进行合并,如果发生合并冲突,我会手动修复,暂存并提交。它解决得很好。
现在,我决定尝试使用“同步工作空间” thingie。我签出我的本地分支,并在源的远程分支上运行该命令。如何将单个文件放入存储库?
我尝试使用merge或pull,但是没有集成更改,而是突然告诉我存在合并冲突。最初不应该发生此冲突,但是重新建立索引并再次提交并不能解决该错误。我与工作空间同步,并在两个相同的文件上不断显示双面红色错误...