相关疑难解决方法(0)

在Git存储库中,如何正确重命名目录?

我认为它应该工作复制到被重命名为与所需名称的新目录的目录,并删除旧的目录,并且git add, git commitpush一切.但这是最好的方法吗?

git directory rename

565
推荐指数
6
解决办法
29万
查看次数

如何将git标记为已删除的文件并将新文件作为文件移动?

我手动移动了一个文件,然后我修改了它.根据Git,它是一个新文件和一个删除文件.有没有办法强迫Git将其视为文件移动?

git

453
推荐指数
10
解决办法
13万
查看次数

如何将文件从一个git仓库移动到另一个(不是克隆),保留历史记录

我们的Git存储库最初是作为单个怪物SVN存储库的一部分开始的,其中每个项目都有自己的树,如下所示:

project1/branches
        /tags
        /trunk
project2/branches
        /tags
        /trunk
Run Code Online (Sandbox Code Playgroud)

显然,将文件从一个文件移动到另一个文件非常容易svn mv.但在Git中,每个项目都在自己的存储库中,今天我被要求将子目录从中移动project2project1.我做了这样的事情:

$ git clone project2 
$ cd project2
$ git filter-branch --subdirectory-filter deeply/buried/java/source/directory/A -- --all
$ git remote rm origin  # so I don't accidentally the repo ;-)
$ mkdir -p deeply/buried/different/java/source/directory/B
$ for f in *.java; do 
>  git mv $f deeply/buried/different/java/source/directory/B
>  done
$ git commit -m "moved files to new subdirectory"
$ cd ..
$
$ git clone project1
$ cd project1
$ …
Run Code Online (Sandbox Code Playgroud)

git repository

447
推荐指数
10
解决办法
13万
查看次数

git-mv的目的是什么?

据我所知,Git并不需要跟踪文件重命名/移动/复制操作,那么git mv的真正目的是什么?手册页不是特别描述性的......

它已经过时了吗?它是一个内部命令,不是普通用户使用的吗?

git

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

Visual Studio将项目移动到其他文件夹

如何将项目移动到Visual Studio中的其他文件夹?我习惯于在我的项目中使用这个结构.

-- app
---- Project.Something
---- Project.SomethingElse
Run Code Online (Sandbox Code Playgroud)

我想将整个命名空间SomethingElse重命名为SomethingNew,最好的方法是什么(没有手动进入.sln文件)?

visual-studio-2008 visual-studio

167
推荐指数
5
解决办法
16万
查看次数

如何使用git真正显示重命名文件的日志?

我对git比较新,我之前使用过Subversion.

我注意到,如果文件已重命名,大多数图形git前端和IDE插件似乎都无法显示文件的历史记录.我用的时候

git log --follow
Run Code Online (Sandbox Code Playgroud)

在命令行上,我可以看到重命名的整个日志.

根据Linus Torvalds的说法--follow switch是一个"SVN noob",严肃的git用户不使用它:

--follow是一个彻底的黑客,意味着只是满足前SVN用户,他们从来不知道任何事情,如父母身份或漂亮的修订图表无论如何.

这并不是完全基本的,但是" - follow"的当前实现实际上是一个快速的预处理事物,它固定在修订行走逻辑上,而不是真正的整体.

它实际上被设计为"SVN noob",而不是"真正的git功能".我们的想法是,你要摆脱思维的(破碎)思维方式,重新命名大局.

我的问题:你们中的硬核git用户如何在重命名时获取文件的历史记录?这样做的"真实"方法是什么?

git

121
推荐指数
5
解决办法
3万
查看次数

为什么git log不会显示已移动文件的历史记录,我该怎么办呢?

我已经重命名了几个文件git mv,使用git stash过,快速查看了HEAD(没有更改它),然后又git stash pop重新获得了全部.我的动作已经从提交列表中消失了,所以我重新使用它们git rm并且提交消息声称git发现重命名是重命名.所以我没想到它.

但是现在,提交后,我无法获取移动文件的历史记录!以下是git对有关提交的说法:

~/projects% git log --summary
commit de6e9fa2179ae17ec35a5c368d246f19da27f93a
Author: brone
Date:   Wed Dec 8 22:37:54 2010 +0000

    Moved R_DebugUI into runtime

 delete mode 100644 test/R_DebugUI_iOS.h
 delete mode 100644 test/R_DebugUI_iOS.m
 create mode 100644 system/runtime/src/R_DebugUI_iOS.h
 create mode 100644 system/runtime/src/R_DebugUI_iOS.m

 <<snip older commits>>
 ~/projects%
Run Code Online (Sandbox Code Playgroud)

我现在正试图获取其中一个移动文件的历史记录,所以我可以看一个旧版本,但我没有得到任何非常有用的东西:

~/projects/system/runtime/src% git log --follow --find-copies-harder -M -C R_DebugUI_iOS.m
commit de6e9fa2179ae17ec35a5c368d246f19da27f93a
Author: brone
Date:   Wed Dec 8 22:37:54 2010 +0000

    Moved R_DebugUI into runtime
~/projects/system/runtime/src% 
Run Code Online (Sandbox Code Playgroud)

(我也尝试过没有 …

git history dvcs rename git-log

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

让Git确认先前移动的文件

我在没有考虑的情况下手动移动了一堆文件,并且找不到让git认识到文件只是被移动而不是实际上不同的文件的方法.有没有办法做到这一点,除了删除旧的和添加新的(从而丢失历史),或使用git-mv重做所有更改?

git

66
推荐指数
4
解决办法
2万
查看次数

如何在文件夹层次结构中将所有git内容向上移动一级?

我有一个git存储库,其结构如下所示:

+--repo.git
|
+----+bootstrap.py
+----+buildout.cfg
+----+.gitignore
+----+webapp
|
+---------+manage.py
+---------+modules
+---------+templates
+---------+static
+---------+...
+---------+...
Run Code Online (Sandbox Code Playgroud)

我想将webapp文件夹的内容向上移动一级.我的结果回购应该是这样的:

+--repo.git
|
+----+bootstrap.py
+----+buildout.cfg
+----+.gitignore
+----+manage.py
+----+modules
+----+templates
+----+static
+----+...
+----+...
Run Code Online (Sandbox Code Playgroud)

我可以通过简单地将webapp目录的所有文件移动一级,删除空webapp目录然后提交更改来完成此操作吗?这会保留webapp目录下文件的提交历史吗?

虽然对很多人来说这是一个非常简单的问题,但我想确定一下.我想要的最后一件事就是喝汤.


我尝试移动文件,但我丢失了提交历史记录,因为git没有真正处理移动或重命名.我知道即使它在日志中显示为新文件,仍然可以使用一些选项查看文件的提交历史记录git log.

根据我的阅读,实现这一目标的最佳方法是使用git-filter.我对shell或git不是很好,所以有人可以告诉我我需要执行上述操作.

git directory

56
推荐指数
6
解决办法
4万
查看次数

Git可以重构我的文件夹而不会丢失历史吗?

我得到了一个git repo current我是唯一使用它的人.我想把根文件夹下的所有文件和文件夹放在一个新的文件夹中,例如:

当前的根目录

main ->
  src
  res

新根

main ->
  app1
    src
    res

如何在Windows上使用git而不会丢失历史记录?

git

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