小编Phi*_*ley的帖子

Git如何记录(或更可能代表)其blob的文件路径和名称,然后识别重命名?

我试图了解git设法"记住"文件的名称及其路径的方式,因为它只存储blob中的文件内容.Abizem 在这里的解释是好的吗?(这是我见过的最好的)

接下来的问题是,git然后确定何时我们有相似性,特别是在'移动'或路径名更新之后?(根据我的Q 子目录重命名).我需要能够维护一个现有的工作流程,该工作流程使用路径重命名作为低级个人VCS的一部分(对于大型版本我们有一个很大的铁VCS,但是没有用于日常/小时到小时的使用)

git

8
推荐指数
1
解决办法
320
查看次数

命令确定当前HEAD的上游引用?

我正在寻找我希望的简单的一行命令来确定当前检出的分支的正确上游引用?

基本上是这样的

git branch --remote HEAD

哪个(如果有效)将符号模式HEAD转换为当前分支名称,然后该选项--remote将其更改为远程跟踪分支的ref.(但它没有那样做!)

如果我有morehelp一个配置的分支

remote = origin
merge = refs/heads/morehelp
Run Code Online (Sandbox Code Playgroud)

简单的命令行将返回refs/remotes/origin/morehelp它的上游跟踪分支(适用于git reset --hard <ref>通过覆盖更新的情况)

git git-branch

8
推荐指数
1
解决办法
927
查看次数

Git可以将裸存储库克隆到另一个裸存储库

我确信这可以做到,我只是不确定正确的方法.

我的方案是将USB驱动器,本地硬盘驱动器和网络驱动器都连接到我的PC.本地硬盘驱动器将包含本地工作的本地活动仓库.网络驱动器(具有长UNC路径!)将包含充当上游参考副本的主裸存储库(办公室中的2个或3个协作者),而USB驱动器充当我的移动拷贝到一些外部PC的sneakernet(我的其他合作者有自己的驱动器,这可能会影响答案).(这是在windows msysgit上).

正是关注USB驱动器的设置,并确保我将工作流指向正确的方向(请参阅使用-git-on-usb-stick-for-travel-code.

  • 我应该克隆我的本地仓库,还是克隆网络仓库?
  • 有哪些特殊标志可确保USB驱动器正确卸下?(-nohardlinks?)
  • 等等

git msysgit

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

没有为.m matlab文件进行git CRLF转换?

即使在Windows上,Matlab .m文件也使用Unix LF行结尾.我希望设置git配置文件,以便.m文件不会像其他常规文本文件一样转换回CRLF(即我使用LF作为repo中的默认样式,即使它是Windows).

可以这样做吗?

编辑:来自Matlab 2008b手册.(在编辑和调试M文件下)

在用于Windows平台的MATLAB软件提供的文件中删除了行结尾; 在记事本应用程序中查看的影响

在以前的版本中,MATLAB for Windows平台提供的文本文件包括每行末尾的回车符和换行符.从R2007b开始,MATLAB提供的文本文件不包括每行末尾的回车符和换行符.

受影响的文件类型包括:.asc .bat .c .cc .cdr .cpp .def .for gs.rights .h .ini .m .mdl .pl readme .tlc .tmf .txt

如果您在MATLAB和其他常见文本编辑器中查看文件没有任何影响,除了Microsoft Notepad应用程序的已知例外.

兼容性考虑因素.如果使用记事本应用程序查看MATLAB提供的文件,则会看到回车符和换行符号而不是行结尾符号.这使得记事本应用程序中的文件可读性降低.其他文本编辑器可能会显示符号而不是行结尾,但是测试的常见文本编辑器中没有找到这样做的符号.

作为记事本应用程序的替代方法,请使用Windows平台附带的Microsoft WordPad应用程序或其他文本编辑器来查看文件.

git matlab core.autocrlf

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

git:如何重新排序(严重)提交序列

我正在从zip快照构建一个回顾性项目历史.我已经从快照中构建了一个长分支提交序列.我现在已经在最后添加了一些"发现"快照,这些快照应该位于提交序列中间的不同位置.

我正在尝试使用它git rebase -i <startCommit>来重新排序git快照.我只需交换选择列表顺序.这应该只是重写提交对象的情况,但保持底层树相同(因为快照没有改变).

在这种情况下,看起来像rebase仍在尝试创建补丁并且有很多冲突,而不是进行简单的重新安排.对于这种特殊情况,是否有更合适的命令?我没有合并,只有一个分支.整个回购仍然非常本地和私人.

git git-rebase

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

是否有与 git archive 相反的命令用于导入 zip 文件

在主要修订正式纳入“大”公司 SCM 系统之前,我们的本地工作流程倾向于使用一系列 zip 文件作为本地“源代码控制”。我正在尝试引入 git 作为一种更好的本地 SCM 方法。当前的工作流程对于我们的小团队来说非常有效,特别是当测试机器离线时,因为 zip 传输很容易,所以我需要能够将这两种方法结合起来。

是否有 git 命令可以导入项目 zip 文件并可能提交它?

或者是手动检查本地工作目录/分支是否干净git status,删除所有当前内容git rm *,将zip文件解压到目录中,添加全部git add .,最后提交git commit -a -m "filename.zip"。我们在 Windows 上工作,因此最大限度地减少出错的机会很重要,因此命令越少越好!

这至少可以让沉默寡言的现有用户决定何时进行 git 切换,同时仍然可以启动并运行存储库。

关于合适的命令或脚本有什么建议吗?

git import zip msysgit

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

检查git中的重复文件(内容)?

在我的'project/repo'中,我有两个MS Visual Studio项目,一个用于主代码,另一个用于测试.我有一些共同的文件(在复制和粘贴意义上),我想看/检查它们是哪些.

什么是正确的Git命令(或Gui菜单点击),看看我是否在整个repo树中使用了两次相同的内容blob?如果我已经正确阅读了所有教程,git应该有一个SHA1用于相同文件内容的两个副本并且已经知道它.我希望Git有一个命令可以找到并显示这些重复的使用文件路径.

最后,当有共同的祖先blob SHA1(但不是常见位置)时,我希望能够找出版本之间的差异.[即在测试期间,一个版本会在另一个版本之前更新...]

我知道这样的副本不是最佳做法,但这是工作结束的方式:-(

我在Windows上有Msysgit和GitExtensions ...

git duplicates path-finding

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

你如何在Git中"抄袭"

我有一些情况需要'copyout'我的代码的旧版本(提交)与我当前的代码并排比较.

该操作需要的不仅仅是简单地在分支之间交换,这不提供并发访问.

copyout从Git 做一个旧提交的好方法是什么,以便我获得旧版本的"off-repo"副本?

需要明确的是:这不是代码审查风格的比较,而是将正在运行的软件与闪烁的所有灯光,正在播放的视频,用户交互等进行比较. - 需要完整的副本.

git testing version-control

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