标签: version-control

我如何在过去做一个Git提交?

我将所有内容转换为Git供我个人使用,我发现存储库中已有一些旧版本的文件.如何根据文件的"修改日期"以正确的顺序将其提交到历史记录,以便我有一个准确的文件历史记录?

我被告知这样的事情会起作用:

git filter-branch --env-filter="GIT_AUTHOR_DATE=... --index-filter "git commit path/to/file --date " --tag-name-filter cat -- --all  
Run Code Online (Sandbox Code Playgroud)

git version-control repository git-commit

204
推荐指数
12
解决办法
9万
查看次数

多久提交一次源代码管理更改?

我应该多久对源代码管理进行一次更改?每个小功能之后,还是仅适用于大型功能?

我正在开展一个项目,并有一个长期的功能来实现.目前,我正在承诺每一部分工作,即每个子功能实现和错误修复.在发现错误后我为某些功能添加了一大块测试之后,我甚至做出了承诺.

但是,我很担心这种模式.在一个富有成效的工作日里,我可能会做出10次提交.鉴于我正在使用Subversion,这些提交会影响整个存储库,所以我想知道这么多确实是一个好习惯吗?

version-control

197
推荐指数
14
解决办法
3万
查看次数

如何在不进行提取的情况下预览git-pull?

它甚至可能吗?

基本上,我只使用一个远程存储库:

git pull
Run Code Online (Sandbox Code Playgroud)

现在,我想预测这种拉动会改变什么(差异),而不会触及我身边的任何东西.原因是我拉的东西可能不是"好",我希望其他人在使我的存储库"脏"之前修复它.

git version-control

197
推荐指数
5
解决办法
10万
查看次数

git-svn:如何通过git创建一个新的svn分支?

我有一个跟踪svn存储库的git存储库.我用它克隆了它--stdlayout.

我通过创建了一个新的本地分支 git checkout -b foobar

现在我希望这个分支最终…/branches/foobar进入svn存储库.

我该怎么做?

(剪了很多调查文本.如果你关心,请查看问题历史)

git version-control git-svn

194
推荐指数
2
解决办法
5万
查看次数

Git与Mercurial存储库的互操作性

我在Mac上使用GIT.说够了.我有工具,我有经验.我想继续使用它.这里没有战争......

问题始终在于互操作性.大多数人都使用SVN,这对我来说很棒.Git SVN开箱即用,是一个没有多余装饰的解决方案.人们可以继续愉快地使用SVN,我不会丢失我的工作流程,也不会丢失我的工具.

现在......有些人和Mercurial一起来了.对他们来说很好:他们有他们的理由.但我找不到任何GIT HG开箱即用.我不想切换到HG,但我仍然需要与他们的存储库进行互操作.

你们中的任何人都知道一个简单的解决方案吗?

git version-control mercurial interop dvcs

194
推荐指数
7
解决办法
4万
查看次数

如何避免在每个Git命令的开头键入“ git”?

我想知道是否有一种方法可以避免git在每个Git命令的开头都键入单词。

如果有一种方法可以git在打开命令提示符进入“ Git模式”后仅在开始时使用一次命令,那将是很好的。

例如:

git>
Run Code Online (Sandbox Code Playgroud)

之后,默认情况下,我们键入的每个命令都将解释为Git命令。

与我们使用MySQL Shell编写数据库命令的方式类似:

mysql>
Run Code Online (Sandbox Code Playgroud)

这将使我不必git每天都要键入数百次。

注意:git-bash在Windows上使用。

git version-control command-line-interface git-bash

191
推荐指数
11
解决办法
2万
查看次数

git - 合并时跳过特定提交

我已经使用Git大约一年了,并认为这太棒了,但我刚刚开始了该项目的第二个版本,并开始了一个新的分支.我正在努力处理未来的最佳方法.

我有两个分支叫做master10(对于v1)和master20(对于v2).我一直在分支master10上的v1中修复bug,并开发master20的新东西.每当我修复bug时,我都会通过检查master20并将其合并到v2中git merge master10.到现在为止还挺好.

然而,现在我在v1中做了一个我不想要的改变,但是我想继续合并其他错误修复.我如何告诉Git跳过该特定提交(或一系列提交),但是未来我仍然希望合并其他错误修复.

我认为git rebase可能是我需要的,但阅读文档和我的头几乎爆炸.

我想我想要的就像是一个"git sync"命令,它告诉git两个分支现在是同步的,并且将来只会合并来自这个同步点的提交.

任何帮助赞赏.

git version-control

190
推荐指数
4
解决办法
5万
查看次数

git reset是什么意思--hard origin/master?

我做了一个git pull并得到一个错误"以下工作树文件将被合并覆盖...请在合并之前移动或删除它们".要解决这个问题,我做了以下几点

git fetch
git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)

现在,当我做git pull时,它会说明所有内容都是最新的.我想知道当我运行这些命令时到底发生了什么.我知道git fetch从远程仓库获取更改而不将它们合并到我的本地仓库中.

是什么意思git reset --hard origin/master?它是如何工作的?

git version-control

190
推荐指数
2
解决办法
24万
查看次数

Git在某些文件中撤消更改

编码时我将print语句添加到某些文件中以跟踪发生的情况.

当我完成后,是否可以恢复某些文件中的更改,但提交我实际工作的文件?

说我在文件中添加了print A,但是我修改了文件B.B是我想要提交的A,我希望回到原来的状态.

git version-control file undo revert

184
推荐指数
4
解决办法
15万
查看次数

删除git中的分支是否会从历史记录中删除它?

来自svn,刚刚开始熟悉git.

当在git中删除分支时,它是否从历史记录中删除了?

在svn中,您可以通过还原删除操作(反向合并)轻松恢复分支.与svn中的所有删除一样,分支永远不会被删除,它只是从当前树中删除.

如果实际上从git中的历史记录中删除了分支,那么从该分支合并的更改会发生什么?他们保留了吗?

git version-control branch revision-history

180
推荐指数
2
解决办法
7万
查看次数