我正在做一个web应用程序,我需要做一些重大更改的分支,这些更改需要更改数据库模式,所以我想把整个数据库都放在git下。 我怎么做? 有一个特定的文件夹,我可以保持在一个Git仓库? 我怎么知道哪一个? 我怎样才能确定我把正确的文件夹? 我需要确定,因为这些变化不是向后兼容的; 我不能搞砸了。 我的例子中的数据库是PostgreSQL 编辑: 有人build议采取备份,并将备份文件放在版本控制下,而不是数据库。 说实话,我发现真的很难下咽。 一定有更好的方法。 更新: 好,那么没有更好的办法,但是我还是不太确定,所以我会改变这个问题: 我想把整个数据库放在版本控制之下,我可以使用什么数据库引擎,这样我就可以将实际的数据库放在版本控制下,而不是转储了? sqlite会是友好的? 由于这只是开发环境,我可以select任何我想要的数据库。 EDIT2: 我真正想要的不是追踪我的发展历史,而是能够从我的“新的激进变化”分支切换到“当前稳定的分支”,并能够例如修复一些错误/问题等等,与当前稳定的分支。 这样,当我切换分支,数据库自动变成与我目前的分支兼容。 我并不十分关心实际的数据。
我真的不会想到我会使用git merge而不是git rebase而不想提交一个commit。 有什么办法可以让git默认快速转发吗? 有一个–ff选项似乎意味着有一种方法,但我似乎无法在文档中find它。
我在LaTeX上写了一个非常长的文档。 我有我的工作电脑和我的笔记本电脑,我都在他们的工作。 我需要保持两台计算机之间的所有文件同步,并且还想保留修改历史logging。 我select了git作为我的DVCS,并将我的存储库托pipe在我的服务器上。 我也使用Kile + Okular进行编辑。 Kile没有集成的git插件。 我也没有在这个文本上与任何人合作。 我也考虑将另一个私有存储库放在codaset上,如果我的服务器出于某种原因无法访问。 这种情况下推荐的工作stream程是什么? 在这个工作scheme中如何安装分支? 有没有办法比较同一个文件的两个版本? 如何使用存储?
我正在使用Windows,在提交之前,Git希望我input文本消息,并出现一个新的文本窗口。 我怎样才能退出? 我正在学习Git。 所以,一点帮助将受到高度赞赏。
我怎样才能撤消上次提交后对目录所做的每一项更改,包括删除添加的文件,重置已修改的文件以及添加回删除的文件?
在Unix或GNU脚本环境(例如Linux发行版,Cygwin,OSX)中,确定当前在工作目录中检出哪个Git分支的最佳方法是什么? 这种技术的一个用途就是自动标记一个发行版(就像svnversion会用Subversion一样)。 请参阅我的相关问题: 如何以编程方式确定Git签出是否是标记,如果是,则标记名称是什么?
我使用的是git。 我做了一个远程回购,并得到一个错误消息:“请input一个提交消息来解释为什么这个合并是必要的,尤其是如果它合并更新的上游到主题分支。 我尝试input消息,然后按回车键,但没有任何反应。 我如何告诉git /terminal我input了我的消息? 我在OS X上使用terminal。
我想强制推送,例如,我的标签1.0.0到我的远程master分支。 我现在正在做以下几点: git push production +1.0.0:master 我想强制推送 ,因为我所关心的是1.0.0标签内的代码被推送到远程存储库上的master分支。 我究竟做错了什么? 更新#1 当我SSH到我的服务器,我的Git仓库是执行git branch -l ,我没有看到master分支也列出。 更新#2 从远程Git仓库中运行git tag -l后,我看到列出了master ,这意味着当我运行以下命令时: git push production 1.0.0:master 它实际上推动了标签,并创build了一个名为 master的标签,而不是一个新的分支 。 我想基本上推动标签1.0.0的内容到远程Git仓库的master分支。
我想为GitHub中的某个项目做出贡献。 我应该分叉吗? 科呢? 什么是build议和如何做到这一点?
这经常发生在我身上: 在一两天的时间里,我正在同时处理一些与之相关的变化,当时间到了,我最终忘记了特定文件中的变化。 (这只是个人的git回购,所以我可以在提交中有多个更新。) 有什么方法可以预览我的本地文件(即将要签入的文件)和最后一次提交文件之间的更改吗? 就像是: git diff –changed /myfile.txt 它会打印出如下所示的内容: line 23 (last commit): var = 2+2 (current): var = myfunction() + 2 line 149 (last commit): return var (current): return var / 7 这样,我可以很快看到自从上次检入之后,在该文件中做了什么。