小编Mar*_*air的帖子

制作git diff --stat显示完整的文件路径

在做git diff --stat一些文件时列出了来自存储库库的完整路径,但有些文件列为:

.../short/path/to/filename.  
Run Code Online (Sandbox Code Playgroud)

这是路径开始,...只显示短路径.

我想git diff列出所有文件的完整文件路径,以便脚本轻松处理.有什么方法可以让我git diff总是显示完整的路径

git git-diff

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

为什么我的git历史看起来像一棵圣诞树?

git log --decorate --oneline --graph我们在圣诞节前不久在我们的一个存储库中进行操作时,我们发现出现了以下结构(旋转以强调脆弱的节日主题):

编辑git日志输出,旋转看起来像一棵圣诞树

提交图中的这种模式是如何产生的?

当然,这有点愚蠢,但这里有一个有趣的观点 - 当你在git history浏览器中看到它们时,通常很难看到如何解释提交图中的特定模式.

git git-pull

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

与git branch相反--set-upstream

我想停止跟踪某些分支机构.我设置跟踪使用git branch --set-upstream foo origin/foo.

我该如何撤消这个?

git branch

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

保持PostgreSQL有时选择错误的查询计划

使用PostgreSQL 8.4.9,我对查询的PostgreSQL性能有一个奇怪的问题.此查询正在选择3D卷中的一组点,使用a LEFT OUTER JOIN添加相关ID列,其中存在相关ID.x范围的微小变化可能导致PostgreSQL选择不同的查询计划,执行时间从0.01秒到50秒.这是有问题的查询:

SELECT treenode.id AS id,
       treenode.parent_id AS parentid,
       (treenode.location).x AS x,
       (treenode.location).y AS y,
       (treenode.location).z AS z,
       treenode.confidence AS confidence,
       treenode.user_id AS user_id,
       treenode.radius AS radius,
       ((treenode.location).z - 50) AS z_diff,
       treenode_class_instance.class_instance_id AS skeleton_id
  FROM treenode LEFT OUTER JOIN
         (treenode_class_instance INNER JOIN
          class_instance ON treenode_class_instance.class_instance_id
                                                  = class_instance.id
                            AND class_instance.class_id = 7828307)
       ON (treenode_class_instance.treenode_id = treenode.id
           AND treenode_class_instance.relation_id = 7828321)
  WHERE treenode.project_id = 4
    AND (treenode.location).x >= 8000
    AND (treenode.location).x <= (8000 + 4736) …
Run Code Online (Sandbox Code Playgroud)

database postgresql performance sql-execution-plan postgresql-performance

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

如何在git中安全地使用共享对象数据库?

我已经在几个地方读过,可以objects在多个git存储库之间共享目录,例如使用符号链接.我想这样做在同一目录中的几个裸存储库之间共享对象数据库:

shared-objects-database/
foo.git/
  objects -> ../shared-objects-database
bar.git/
  objects -> ../shared-objects-database
baz.git/
  objects -> ../shared-objects-database
Run Code Online (Sandbox Code Playgroud)

(我这样做是因为在每个对象目录中会有大量冗余存储的大blob.)

我对此的关注是,在使用这些存储库时,git gc将自动调用并导致从一个存储库无法访问的对象被修剪,从而使其他存储库不完整.有没有简单的方法可以确保不会发生这种情况?例如,是否存在一个强制--no-prune为默认值的配置选项git gc,如果是这样,是否足以使用此设置而不会有丢失数据的风险?

目前,我一直在使用这种objects/info/alternates机制在这些存储库之间共享对象,但是将这些指针从每个存储库维护到所有其他存储库都有点笨拙.

(我的另一种方法是只具有单一的裸库,与各分支机构foo.git,bar.gitbaz.git命名为foo-master,foo-testing,bar-master,等.然而,这会是一个有点更多的工作来管理,因此,如果符号链接的对象目录可以安全地工作,我宁愿那样做.)

您可能会猜到这是使用Git For It It It Not It用例的其中一个,但我希望这个问题清晰有效;)

git

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

丢弃一行中的更改

我注意到在Tower(Mac的Git客户端)中,用户甚至可以逐行丢弃更改.我想知道如何使用命令行完成这项工作?或许是塔的特别之处?

在这种情况下,我经常发现自己:

@@ -391,7 +392,7 @@ extern BOOL validateReceiptAtPath(NSString *path);

       NSURL *url = [self fileURL];
        if (url != nil) {
                NSRect readFrame = [self _readPreferenceOfFileAtURL:url];
-               
+
                for (NSScreen * screen in [NSScreen screens]) {
                        NSRect screenVisibleRect = [screen visibleFrame];
                        ...
Run Code Online (Sandbox Code Playgroud)

看看我有一个+和一个- ?我想丢弃它,所以我的提交有最小的变化(因此冲突的可能性更小,更容易审查)

:)

git

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

是否有类似于svn还原的git revert?我需要一个命令来擦除我本地的*所有*并将其设置为远程头

在svn或subclipse中,我可以简单地对根项目执行'revert',并且丢弃所有本地更改并将src更新为HEAD中的最新版本.我似乎没有在git中找到相同的内容,尽管有几个博客声称相同.

这就是我做的:

  • 从我的家庭mac提交了10个文件.没推.
  • 从工作计算机和PUSHED提交相同的10个文件和更多文件.
  • 回到家里,我想从遥远的原点/主人那里拿走最新的.

尝试过git pull,它带来了变化但警告了冲突

尝试了git reset --hard HEAD,但什么也没发生.我仍然看到承诺的冲突变化

我必须尝试过其他一些我不记得的命令.我只需要回到远程头部而不用担心我的本地回购是什么状态.

救命?

git github

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

git rebase和删除的rebasing分支导致"Interactive rebase already started"错误消息

我正在用几个分支尝试一些东西,所以我在一个临时分支上进行了重新设定,当我决定不以另一种方式完成rebase时,我正在解决一些冲突.然后我删除了所涉及的临时分支并继续我的快乐方式.几个小时后,我想重新定义另一个分支并收到此错误消息

Interactive rebase already started
Run Code Online (Sandbox Code Playgroud)

git rebase --abort 显示此错误消息

error: unable to resolve reference refs/heads/tmp/rails3-rails-2-fixes: No such file or directory
fatal: Cannot lock the ref 'refs/heads/tmp/rails3-rails-2-fixes'.
Could not move back to refs/heads/tmp/rails3-rails-2-fixes
Run Code Online (Sandbox Code Playgroud)

试图创建另一个名为tmp/rails3-rails-2-fixes但没有骰子的分支

我有什么想法可以解决这个问题?

git rebase

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

删除git branch -a列出的分支

该命令git branch -a列出了一堆不在存储库上的分支,而不是本地分支.怎么能删除这些?

* develop
  master
  remotes/origin/cloner
Run Code Online (Sandbox Code Playgroud)

例如,remotes/origin/cloner曾经存在于repo中,但它已被删除,我希望它在输入时不会出现git branch -a.

git

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

在不知道的情况下从文件中删除扩展

我知道如何删除文件的扩展名,当我知道它时:

nameis=$(basename $dataset .csv)
Run Code Online (Sandbox Code Playgroud)

但是我想在不事先知道的情况下删除任何扩展名,任何人都知道如何做到这一点?

任何帮助,Ted

bash

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