version-control相关内容

在 hg 或 git 中的两个完整目录/项目之间存在差异?

我继承了一个最初存储在 CVS 中的项目,其中包含所有修订版本.我进行了很多编辑,并尝试比较我在原始目录中所做的所有更改,包括添加的新文件与旧文件. 是否有某种适用于 hg/git 的实用程序,我可以在其中进行树差异分析,或类似的东西?这么说来,新增文件和删除文件之间有一个标记,是不是我要求的太多了? 解决方案 git diff 正是如此.但它只适用于 git 项目. hg d ..
发布时间:2022-01-04 14:57:18 其他开发

Git 并在多个分支上工作

我有几个 Git 分支:“experimental"、“something"和“master". 我切换到“实验"分支.我注意到一个与“实验性"无关的错误,属于“某事"中所做的更改.我该如何解决? 我想我应该切换到“某事",修复错误,提交,然后返回“实验性".我应该如何将“某事"的微小更改应用于“主"和“实验",以便在切换到这些分支时不必再次重新修复错误? 解决方案 有两种尚未 ..
发布时间:2022-01-04 14:57:07 其他开发

如何使用“git submodule"检查子模块的特定版本?

我将如何为特定标签或提交添加 Git 子模块? 解决方案 子模块存储库保持分离的 HEAD 状态,指向特定的提交.更改提交只涉及签出不同的标记或提交,然后将更改添加到父存储库. $ cd 子模块$ git checkout v2.0以前的 HEAD 位置是 5c1277e... 将版本提高到 2.0.5HEAD 现在位于 f0a0036... 2.0 版 父存储库上的 git-sta ..
发布时间:2022-01-04 14:56:50 其他开发

没有 .git 目录的 Git 克隆

在进行克隆时是否有要传递给 git 的标志,比如不要克隆 .git 目录?如果没有,克隆后删除.git目录的标志如何? 解决方案 使用 git clone --depth=1 --branch=master git://someserver/somerepo dirformynewreporm -rf ./dirformynewrepo/.git 深度选项将确保复制尽可能少的历史记录以 ..
发布时间:2022-01-04 14:56:40 其他开发

如何使用“master"以外的默认分支名称创建 Git 存储库?

在 Pro Git book 中,它说 “起源"并不特殊 就像分支名称“master"在 Git 中没有任何特殊含义一样,“origin"也没有.虽然“master"是运行 git init 时起始分支的默认名称,这是它被广泛使用的唯一原因,但“origin"是运行 git clone 时远程的默认名称.如果您改为运行 git clone -o booyah,那么您将使用 booyah ..
发布时间:2022-01-04 14:56:29 其他开发

GIT 和 CVS 的区别

Git 和 CVS 版本控制系统有什么区别? 我已经愉快地使用 CVS 超过 10 年了,现在我被告知 Git 好多了.有人可以解释一下两者之间的区别是什么,为什么一个比另一个更好? 解决方案 主要区别在于(正如在其他回复中已经说过的那样)CVS 是(旧的)集中式版本控制系统,而 Git 是分布式的. 但是即使你对单个开发者使用版本控制,在单机(单个账户)上,Git 和 CVS ..
发布时间:2022-01-04 14:56:20 其他开发

git pull origin master & 的区别git pull origin/master

git pull origin master 和 git pull origin/master 有什么区别? 解决方案 git pull origin master 将从 origin 远程,master 拉取更改> 分支并将它们合并到本地签出的分支. git pull origin/master 将从本地存储的分支 origin/master 拉取更改并将其合并到本地检出分支.or ..
发布时间:2022-01-04 14:56:11 其他开发

Git:如何压缩分支上的所有提交

我从 master 创建新分支: git checkout -b testbranch 我提交了 20 次. 现在我想压缩这 20 个提交.我这样做: git rebase -i HEAD~20 如果我不知道有多少提交怎么办?有什么办法可以做这样的事情: git rebase -i all 在这个分支上 解决方案 压缩所有提交的另一种方法是将索引重置为 master: git ..
发布时间:2022-01-04 14:56:00 其他开发

如何查看 Git 提交中的更改?

当我执行 git diff COMMIT 时,我会看到该提交和 HEAD 之间的更改(据我所知),但我想查看该单次提交所做的更改. 我没有在 diff/log 上找到任何明显的选项来给我那个输出. 解决方案 查看特定 COMMIT 哈希的差异,其中 COMMIT 是提交的哈希: git diff COMMIT~ COMMIT 会告诉你 COMMIT 的祖先和 COMMIT 之间 ..
发布时间:2022-01-04 14:55:50 其他开发

git 如何跟踪在文件之间移动的源代码?

显然,当您将一个函数从一个源代码文件移动到另一个源代码文件时,git 修订日志(对于新文件)可以向您显示该代码片段最初来自何处(例如参见 本教程). 这是如何工作的? 解决方案 它不跟踪它们.这就是它的美妙之处. Git 只记录整个项目树的快照:这是提交之前所有文件的样子,这是提交之后的样子.我们是如何从这里走到那里的,Git 不在乎. 这允许在提交已经发生后编写智能工具 ..
发布时间:2022-01-04 14:55:38 其他开发

Git:忽略公共存储库的文件,但不忽略私有存储库

我正在通过 git 在 Heroku 上部署 Rails 应用程序(目前),并且还希望有一个公共版本供人们查看.一些文件是敏感的,应该只在“heroku"分支中提交和推送,而不是“公共"分支.解决此问题的最佳方法是什么? (我确实知道 Heroku 的 Config 变量,这是一个很好的临时解决方案,但在我需要切换主机时并不好玩.) 这两个分支不需要一直同步——我可以定期将“maste ..
发布时间:2022-01-04 14:55:15 其他开发

共享rerere缓存

我看到有人建议所有开发人员在他们的机器上设置一个符号链接,从 C:\project\.git\rr-cache 到共享文件夹 \\server\rr-缓存. 但是,如果可能的话,通过将文件夹包含在 git 存储库本身中来共享文件夹似乎更方便.我看到有人提到过这个解决方案,但实际上没有提到如何去做. 有什么想法吗? 解决方案 它可以通过专用分支共享.如果该分支上存在冲突,您想停止 ..

在 MySQL 数据库上使用版本控制 (Git)

我是一名 WordPress 设计师/开发人员,他越来越多地参与使用版本控制,尤其是 Git,尽管我确实在某些项目中使用了 SVN.我目前正在将 Beanstalk 用于我的远程存储库. 将所有 WordPress 文件添加到我的 repo 没有问题,如果我想知道我可以 .gitignore wp-config 文件,但由于我是目前唯一的开发人员,而且这些项目是封闭源代码,真的没什么意义. ..
发布时间:2022-01-04 14:54:56 数据库

Git 分支从哪里开始,它的长度是多少?

时不时有人问我,git 上某个分支的提交是什么,或者某个提交是否已在特定分支上创建.分支的终点非常清楚:那是分支标签所在的位置.但是——它从哪里开始?简单的答案是:在我们创建那个分支的那个提交上.但是,据我现在所知,这些信息在第一次提交后丢失了,这就是我问这个问题的原因. 只要知道我们分支的提交,我们就可以画图来清楚: A - B - C - - - - J [主]\D - E - F - ..
发布时间:2022-01-04 14:54:39 其他开发

Git 忽略和 Maven 目标

任何人都知道是否可以忽略由 git 管理的文件结构中特定目录的所有实例. 我希望排除具有多个子模块的 maven 项目中的所有“目标"文件夹.我知道我可以在顶级 .gitignore 中明确排除它们中的每一个,但我真的希望能够在那里指定像 **/target/* 这样的模式让它自动忽略子目录中的实例? 这可能吗? 解决方案 可以在 .gitignore 文件中使用模式.请参阅 gi ..
发布时间:2022-01-04 14:54:13 其他开发

为什么“git commit"不保存我的更改?

我做了一个 git commit -m "message" 像这样: >git commit -m "保存 arezzo 文件"# 在分支主# 未为提交而暂存的更改:#(使用“git add ..."来更新将提交的内容)# (使用 "git checkout -- ..." 放弃工作目录中的更改)## 修改:arezzo.txt# 修改:arezzo.jsp#没有更改提交(使用“gi ..
发布时间:2022-01-04 14:53:57 其他开发

你应该如何从源代码控制构建你的数据库?

在 SO 社区 wiki 上有一些关于是否应该对数据库对象进行版本控制的讨论.但是,我还没有看到太多关于为数据库对象创建构建自动化过程的最佳实践的讨论. 这对我的团队来说一直是一个有争议的讨论点 - 特别是因为在评估数据库部署自动化方法的好处和风险时,开发人员和 DBA 通常有不同的目标、方法和关注点. 我想听听 SO 社区关于哪些实践在现实世界中有效的想法. 我意识到哪种做法​ ..
发布时间:2022-01-04 14:53:47 其他开发

两个目录中相同文件的 Git Diff 总是导致“重命名"

git diff --no-index --no-prefix --summary -U4000 directory1 directory2 这按预期工作,因为它返回两个目录之间所有文件的差异.添加的文件按预期输出,删除的文件也会导致预期的差异输出. 然而,由于差异将文件路径作为文件名的一部分,两个不同目录中的同名文件会导致差异输出带有重命名的标志而不是更改. 有没有办法告诉 g ..
发布时间:2022-01-04 14:53:32 其他开发

我应该将 google-services.json(来自 Firebase)添加到我的存储库中吗?

我刚刚注册了 Firebase 并创建了一个新项目.Firebase 询问我的应用域和 SHA1 调试密钥.我输入了这些详细信息,它生成了一个 google-services.json 文件供我添加到我的应用模块的根目录中. 我的问题是,是否应将此 .json 文件添加到公共(开源)存储库中.是否应该保密,例如 API 密钥? 解决方案 A google-services.json ..
发布时间:2022-01-04 14:53:12 其他开发