相关疑难解决方法(0)

Git如何在重构期间跟踪历史记录?

我很清楚Git如何支持文件移动:因为它使用文件哈希,"添加"文件很容易被检测为与"删除"文件相同.

我的问题是关于重构:考虑到Java,包声明会发生变化,因此文件内容将不相同.在这种情况下,Git如何确定"添加"文件与"已删除"文件共享历史记录?它是否检查"最相似的内容",假设我只做了一些小改动,或类似的非确定性解决方案?

git hash refactoring dvcs

17
推荐指数
1
解决办法
5288
查看次数

git,确保在保留历史记录的同时移动/重命名文件的方法

我知道有很多现有问题看起来很相似,所以让我在问我之前总结一下.

第一个答案,我不同意,因为我之前已经这样做了.第二个答案是我问这个问题的原因.也就是说,

我发现我一直在做git mv,但有时它被视为移动/重命名,有时它被视为删除+添加.因此,我想知道如何让它始终移动/重命名?

这一个为例,在底部,我们可以看到几个移动/重命名的情况,比如easygenapi/tf-varcaser.go ? tf-varcaser.go.请注意,这些移动是在文件夹之间/之间!即,我做到了!

但是还有很多其他案例git mv被视为删除+添加,显示在完全相同的更改日志中.再一次,我一直在做git mv.为什么git表现不一样?

在保留历史记录的同时,有没有可靠的方法来移动/重命名git文件?

git rename move

16
推荐指数
2
解决办法
1万
查看次数

让Git关注重命名和编辑的文件

大约在Git中重命名文件的问题 过,但我不能制定出一个解决方案,我的具体问题.

我已经移动并编辑了多个文件(我没有使用git mv- 不幸的是现在已经太晚了).现在我想要它,所以当我的同事从我的存储库中取出时,对这些相同的文件进行了自己的编辑(没有移动它们),它成功地将我的更改与他在文件的新位置中合并.为了成功合并,Git显然需要知道这些文件是相同的.

Git是否足够聪明地独自完成这项工作?似乎很难相信.如果是这样,我怎么能确定Git会拾取特定的文件移动 - 即使内容已经改变了?

git version-control file-rename git-merge

15
推荐指数
2
解决办法
9174
查看次数

你抓到了什么git?

我遇到的最糟糕的一个是git子模块.我在github上有一个项目的子模块.该项目没有维护,我想提交补丁,但不能,所以我分叉了.现在子模块指向原始库,我需要它指向fork.所以我删除了旧的子模块,并在同一次提交中将其替换为新项目的子模块.事实证明这打破了其他人的存储库.我还是不知道的处理这种情况的正确方法是什么,但我最终删除的子模块,有大家拉和更新,然后我创建了新的子模块,并有大家拉和再次更新.花了一天的时间来解决这个问题.

其他人做了什么,以非显而易见的方式意外搞砸了git存储库,你是如何解决它的?

git version-control

12
推荐指数
4
解决办法
5017
查看次数

在git中重命名文件

我有两个文件签入github.

  1. 的index.html
  2. backup.html

现在我想重新命名backup.htmlindex.html,反之亦然.我并不关心维护每个文件的更改历史记录.我怎么用git做这个?

git

9
推荐指数
1
解决办法
3002
查看次数

从Git迁移到SVN

我有一个项目需要将Git存储库移植到SVN.我尝试了几种在线发布的方式,但它们都不适合我.如果有人能提供帮助,我们将非常感激.

我按照指南

  • 将Git repo克隆到工作副本
  • 进入副本
  • 将头部倒回第一次提交
  • 樱桃采摘所有提交
  • git svn rebasegit svn dcommit

这种方法的问题是我的Git存储库有一个复杂的历史.有许多分支出局和合并.当我选择樱桃时,它只会回收最终存储库的一部分.

问题:有没有办法避免樱桃采摘和git svn rebase?也许用其他东西替换它?

我关注这篇网络帖子:将Git repo迁移到svn

这篇文章基本上

  • 没有 git svn clone
  • 在克隆的工作副本中获取了git repo
  • 将主人分支到old_master
  • 将所有提交从old_master应用到master(git svn rebase)
  • 没有 git dcommit

这种方法的问题类似于我在第一篇中所遇到的问题:当我这样做时git svn rebase,存在很多冲突.另外,当我跳过所有冲突时,git dcommit失败了.它告诉我:Unable to determine upstream svn information from HEAD history.

我不知道从这一点开始还有什么可以尝试的.如果您发现我做错了或有其他办法,请提出任何建议.赞赏它!!

svn migration git

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

使用git的'git rm'和'git mv'的实际用例?

我知道git提供'git rm'和'git mv'来删除/移动文件或目录.但是,我无法看到实际用例.

通常情况下,我只是mv或rm文件或命令行中的任何内容,在完成所有必要的操作后,我可以运行'git add -u'和'git add.',就像我问的那样答案在这里.

我错过了什么吗?有没有只有'git rm'和'git mv'的情况?

git git-rm git-mv

7
推荐指数
1
解决办法
999
查看次数

在 Git 中恢复移动文件的历史记录

如果文件的名称和内容已更改,是否可以在提交后标记移动?

例如

  1. file1.txt更改为file2.txt和内容更改。
  2. git commit
  3. Git 认为file1.txt已被删除并且file2.txt是一个不相关的新文件。

有没有办法在提交发生后将其标记为重命名?

git version-control

5
推荐指数
1
解决办法
1979
查看次数

我怎样才能最简单地重组 git 存储库?

我想重组一个 git repo 来管理多个项目。我有一个喜欢

my-org
|--cool-repo
   |--file-one
   |--file-two
Run Code Online (Sandbox Code Playgroud)

我想让它像

my-org
|--cool-repo
   |--project-one
      |--file-one
      |--file-two
   |--project-two
Run Code Online (Sandbox Code Playgroud)

我已经阅读了一些 git 文档,但我不确定我应该学习哪些命令。我不需要合并代码,或者,净,删除任何东西。

我不想破坏任何东西。

当我的团队开始第二个、第三个和以后的项目时,我想组织“子目录”或“子项目”(我不确定要使用的术语)来保存与这些添加的项目相关的文档。

我应该怎么做,或者我在哪里可以最好地恢复调查?

谢谢!

git

5
推荐指数
1
解决办法
1679
查看次数

更改Git存储库的根目录

我有以下源结构:

/dir1
    file1
    file2
    file3
Run Code Online (Sandbox Code Playgroud)

dir1 不需要,因为存储库本身可以像一个文件夹,所以我希望我的git存储库看起来像这样:

file1
file2
file3
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能做到这一点?

git repository

3
推荐指数
2
解决办法
6894
查看次数

如何在JGit中重命名文件

如何在JGit中重命名文件.也就是说,给定一个名为file1的工作文件.

命令行将是:

git mv file1 file2
Run Code Online (Sandbox Code Playgroud)

rename file-rename jgit

3
推荐指数
1
解决办法
707
查看次数

能够处理文件移动的版本控制系统?

我正在为我的软件公司寻找一个新的版本控制系统,这个系统相当小.到目前为止,我一直在使用CVS,但我有点关于重组文件结构的OCD,因此,我似乎总是在我的所有代码的版本1(因为更改目录名称会引发CVS的版本控制窗户).是否有更多针对开发阶段的版本控制系统(项目目录树不断变化)或者我是否需要扣下并开始编写自己的版本控制系统?基本上,我需要它来基于物理文件路径之外的其他东西来跟踪文件的版本,这样移动不会影响文件版本信息.任何建议将不胜感激.谢谢!

干杯,Lukas Rezek

svn versioning git cvs version-control

2
推荐指数
1
解决办法
326
查看次数