version-control相关内容
从svn开始,刚开始熟悉git。 当一个分支在git中被删除时,它是否会从历史中删除? 在svn中,您可以通过恢复删除操作(反向合并)轻松恢复分支。和svn中的所有删除一样,该分支从不真正删除,它只是从当前树中删除。 如果该分支实际上从git中的历史中删除,会发生什么到从该分支合并的更改?它们是否保留? 解决方案 分支只是指向git提交的指针。在git中,每个提交都有一个
..
我现在是一个独立的开发者,请分享您关于单独开发人员的良好VC设置的经验。 我的约束是; $ b 我在多台机器上工作,需要保持同步 有时我离线工作 我正在使用Subversion(只是客户端到远程服务器),而且工作正常。我对Mercurial和git DVCS感兴趣,但没有一个用例对我的情况有意义。 编辑:我将我的主动开发迁移到化石 解决方案 可能我建议一个名为f
..
npm 5今天发布,其中一项新功能包括确定性安装创建一个 package-lock.json 文件。 这个文件应该保存在源代码管理中吗? 我假设它类似于 yarn.lock 和 composer.lock ,这两者都应该保存在源代码管理中。 解决方案 是,打算检查 package-lock.json 进入源代码控制。如果你使用的是npm 5,你可以在命令行中看到:创建一个loc
..
我对捆绑器及其生成的文件有点新鲜。我有一个GitHub的git仓库副本,很多人都在贡献它,所以我很惊讶地发现bundler创建了一个不存在于仓库中并且不在中的文件。 gitignore list。 因为我已经分叉它,我知道将其添加到回购将不会破坏主回购的任何内容,但如果 是否应将 Gemfile.lock 包含在存储库中? 解决方案假设你没有编写rubygem,Gemfile.l
..
当我用Kdiff3(以及其他合并工具)尝试合并冲突解决方案时,我注意到在分辨率上创建了一个 *。orig 文件。有没有办法让它不创建额外的文件? 解决方案 git config : git config --global mergetool.keepBackup false 执行合并后,带有冲突标记的原始文件可以保存为具有 .orig 扩展名的文件。
..
git diff --no-index --no-prefix --summary -U4000 directory1 directory2 这样可以正常工作,因为它返回所有两个目录之间的文件。添加的文件按预期输出,删除的文件也会导致预期的差异输出。然而,由于diff将文件路径作为文件名的一部分考虑在内,所以在两个不同的目录中具有相同名称的文件会导致diff输出重命名的标志,而不是改变。
..
阅读 git rebase 和 git merge-base man documentation: 在使用git checkout -b topic origin / master创建的主题分支上工作之后,远程跟踪分支源/主的历史记录可能已被重绕并重建,导致这 形状的历史: o --- B1 / --- o --- o --- B2 --- o --- o --- o --
..
我正在研究大规模使用git。我希望通过调用主分支中继来提高采用率并使事情更轻松。 这可能会给SVN用户带来一些舒适感。我知道我可以创建一个名为trunk的分支,但似乎偏离了git规范,可能会导致一些用户感到困惑。 我知道我也可以创建和删除标签,但是当我签出这些标签时,它告诉我这是一个非本地分支,这对我来说很好但可能不是我想要做的。 我是git newb,但是在发布和构建系统方面经
..
在之前的问题中,有人提供了一个用于查找包含EXACT commit的分支的答案: 如何列出包含给定提交的分支 接受的答案突出显示,这仅适用于EXACT提交ID,而不适用于相同的提交。有人进一步表示,Git Cherry可以用来解决这个问题。 Git樱桃SEEMS适合相反;找到不向上游推送的提交。如果我不知道哪个分支创建了它,以及什么是上游,这是无用的。所以我不明白它将如何帮助解决
..
我正在与一些开发人员在BitBucket上使用git合作。我们都在开发 dev 分支,而不是推到 master 直到发布。 其中一位开发人员犯下不正确的代码,意外覆盖了我自己的代码,现在我试图将正确的代码推回到回购站。我一直在阅读这个错误几天,因为我收到以下错误,我无法推送到repo: ! [被拒绝] master - > dev(获取第一个) 错误:未能将某些参考文献推送到'htt
..
如果我从多个分支中挑选,是否有一个简单的方法来确定提交来自哪里(例如原始提交的sha)? 例子: - 在主分支处 - 樱桃选择从开发分支处提交A - A在主分支处变为D 之前: * B(主)特征Y | * C(dev)特征Z | * A Feature X | / * 3 * 2 * 1 After: *
..
我是一名WordPress设计师/开发人员,他越来越多地使用版本控制,特别是Git,尽管我在某些项目中使用SVN。 将所有WordPress文件添加到我的回购站中是没有问题的,如果我想知道我可以.gitignore wp -config文件,但由于我是目前唯一的开发人员,而且这些项目都是封闭源代码,所以它确实没什么意义。 WordPress很大程度上依赖于数据库,像任何CMS一样,保留
..
我想改变gitignore,但并非团队中的每个人都想要这些改变。用户如何拥有自己特定的git忽略文件? 解决方案 对于用户特定的和特定于repo的文件,忽略你应该填充以下文件: $ GIT_DIR / info / exclude 通常$ GIT_DIR代表:your_repo_path / .git /
..
因为我从svn切换到git,我开始在每次重新编译时都做出更多的提交,并且我的测试通过了我的工作。最后,我最终通过函数提交了函数。 我还跟踪一些使用像emacs,wordpress等git的项目。我发现它们并没有经常提交。所以我很想知道你们如何提交?解决方案 Git项目本身的准则(和Linux项目AFAIK)是每个“逻辑上独立的变更集”的一次提交。 这有点含糊不清,但如果你不断地在一个
..
我是git的新手,我有一个关于在git中添加文件的问题。我发现了有关 git add。和 git add -a , git add --all , git add -A 等等,但是我一直无法找到解释 git add * 的确如此。我甚至看过 git添加手册页,但它没有帮助。我一直在用它来代替 git add。,我的同事问我为什么。我没有答案。我一直使用 git add * 。 $ b $ git
..
我在github上有一个主分支(主)和一个分支用于一些实验性工作。我做了一些提交并推送到实验分支,一切正常。 现在,在另一台机器上,我尝试克隆我的存储库(git clone repository )然后切换到实验分支(git checkout branchname ),但每次我这样做时,我的头都会分离,我无法推送我的更改。我究竟做错了什么?我感觉我错过了某个地方的基本git概念,但是阅读随机
..
由于外部奇怪的限制,我无法修改我的存储库的.gitignore。有没有办法忽略修改.gitignore以外的文件和目录?即使它是一个像全局配置一样的全局解决方案,将会应用到我所有的仓库中。 到 gitignore ,在Git考虑的不同“忽略模式来源”中有一个优先顺序: 模式从命令行读取支持它们的命令。 .gitignore文件与路径相同的目录或任何父目录中,高层文件中的模式(直到根目录)被低
..
我克隆了一个github仓库,并且没有在本地进行任何更改。 如何在我的本地存储库和原始github存储库之间找到差异? 如何在我的工作副本和原始github存储库之间找到差异? 如何找到我的本地存储库与另一个github存储库的相同项目? 解决方案 1)添加要比较的任何远程存储库: git remote添加foobar git://github.com/user/foob
..
我觉得这个问题已被多次询问,但解决方案通常是“我删除了该目录,并重新结束了我的工作。”我做了一次提交和推送,但意识到我在提交消息中提到了错误的票号。所以我看了这么快速的解决方案,并在终端中输入以下内容: $ git reset --soft HEAD ^ $ git commit -m“...正确的消息...” 唯一的问题是我得到以下错误消息: 为防止您丢失历史记
..
因此,我首先制定了回购协议,然后对该分销回购做出了承诺。然后我打开了一个拉请求。拉取请求列出了我想要的所有更改。 在回顾我的拉取请求之后,回购所有者希望我在接受之前进行了一些更改。我已经在我的fork中做了这些修改,现在我该如何更新这些更改的pull请求(或者这不是我应该如何处理它)? 解决方案 你已经做对了。拉取请求将自动更新。这个过程是: $ b 打开拉取请求 根据您本地回购
..