Questions tagged «git»

Git是一个开源的分布式版本控制系统(DVCS)。使用此标签可解决有关Git使用和工作流程的问题。不要仅仅因为存储库恰好托管在GitHub上而使用[github]标签来解决与Git相关的问题。另外,请勿对碰巧涉及Git储存库的一般编程问题使用此标记。

7
Git diff仅显示已修改的行
当我执行git diff时,它显示已添加的行: + this line is added 已删除的行: - this line is removed 但它还显示了许多未修改的行: this line is not modified this line is also not modified 这导致实际的git diff看起来像这样: + this line is added this line is not modified - this line is removed this line is not modified 我可以要求git只显示已修改的行,而忽略所有其他未修改的代码吗?我已经编写了一种方法,可以删除所有前面没有“ +”或“-”符号的行,但是我确信必须有一种更简单的方法来执行此操作。 在我的git …
128 git 

6
如何只获取一个分支的提交历史记录?
假设我my_experiment从创建了一个新分支, master并对进行了几次提交my_experiment。如果执行git logwhen时my_experiment,我会看到对该分支所做的提交,而且还会看到创建master该my_experiments分支之前所做的提交。 我发现查看所有对该my_experiments分支的提交的历史非常有用,直到它到达该分支的创建为止-实际上是该分支的真实历史。否则,在通过日志查看提交内容是否在my_experiments分支上时,我不清楚。 有没有办法用Git做到这一点?
128 git  git-log 

6
如何将Git子模块指针还原为存储在包含存储库中的提交?
我的主要git仓库中有一个git子模块。据我了解,主存储库存储SHA值(在某处...),指向它“链接到”的子模块的特定提交。 我进入子模块并输入git checkout some_other_branch。我不知道我来自哪个提交。 我想还原该指针,以便主仓库和子模块再次同步。 我的第一个(可能是幼稚的)本能是说git reset --hard-似乎对其他所有事情都起作用。令我惊讶的是,它不适用于这种情况。 因此,我确定可以键入git diff,记下子模块指针曾经具有的SHA ID,然后进入子模块,然后git checkout [SHA ID]...但是肯定有一种更简单的方法吗? 由于我仍在学习git子模块,因此如果有我不知道的概念用词,请随时纠正我的术语。

17
在git中删除多个远程分支
我有一个团队成员,无意间将他的150多个本地分支机构推到了我们的中央仓库。幸运的是,它们都具有相同的前缀。使用该前缀,是否可以使用git命令或超酷的小shell脚本同时删除所有这些脚本?
128 git  bash 


16
错误:RPC失败;卷毛传输关闭,剩余未读数据
我尝试从GitLab(GitLab 6.6.2 4ef8369)克隆存储库并出错: remote: Counting objects: 66352, done. remote: Compressing objects: 100% (10417/10417), done. error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed 如何避免这个错误?
128 git  gitlab 

23
Git“致命:无法写入新的索引文件”
我已经看到许多其他关于此的主题,它们并没有帮助。 我有一个非常简单的仓库-两个JavaScript文件。我在Macbook上有100+ GB的存储空间。当我尝试将文件移动到子目录并在本地暂存更改时,我得到了... 严重的:无法写入新的索引文件 无论是在终端中执行所有操作还是使用SourceTree之类的GUI,都会发生这种情况。此外,其中一个文件被锁定,在注销并重新登录之前,我无法删除工作目录。 为什么会这样呢?锁是否可以防止某些事情发生?如果是这样,我如何/如何在OS X上解锁问题文件?远程存储库是Google代码,如果这有所作为,尽管我还没有推送到远程存储库。一切都是本地的。
128 git  locking 

1
我如何git rebase第一个提交?
我曾经git init创建一个新的仓库,然后进行了三次提交。现在,我想重新定位以回去修改我的第一次提交,但是如果我这样做,git rebase -i HEAD~3它会抱怨!如果我尝试使用相同的方法,HEAD~2那还是可以的,但是只能让我重新排列最后两个提交。 如何引用“有任何提交之前的提交”或返回并插入一个空提交?
128 git  git-rebase 

5
Git推送/克隆到新服务器
我正在学习Git,有些事情我无法解决。在Mac上本地创建和使用git存储库后,可以将副本推送到其他位置的另一台服务器吗?我在防火墙后面,因此很遗憾,我无法git clone从另一台计算机上运行。
127 git 

5
如何将本地Git分支复制到远程仓库
到目前为止,我已采取以下步骤: 克隆了一个远程Git仓库 将主分支分支到实验分支 在实验分支中编辑/测试/提交的代码 现在,我还没有准备好将实验性项目合并到主项目中。但是,我确实想将其推回远程仓库,因为那是我与一些同事共享的存储库。我希望他们看到我在实验分支中所做的事情。我通常只通过SSH访问远程仓库。 如何在远程存储库上共享我的本地分支,而又不影响远程存储库的主分支?

1
如果--abort不起作用,如何中止交互式变基?
我已经通过交互式资源库陷入混乱,现在我想中止它。(即回到我进入交互式rebase模式之前的位置,以我为例,通过git pull --rebase)。方法似乎是通过git rebase --abort,但这不起作用: $ git rebase --abort error: Ref refs/heads/master is at 55b388c141b1485b1acd9e050dbeb0eb90ef2ee7 but expected b918ac16a33881ce00799bea63d9c23bf7022d67 fatal: Cannot lock the ref 'refs/heads/master'. Could not move back to refs/heads/master 如何摆脱交互式变基模式,并清理所有对此模式的引用?(git reset --hard成功,但不会使我退出重新设置基准的模式。)
127 git  exit  rebase  abort  quit 

5
git push失败:RPC失败;结果= 22,HTTP代码= 411
我只有一个分支。几个月来我一直在使用 git push origin master 提交到我的本地存储库。昨晚我对本地存储库进行了一些较小的更改并尝试使用相同的命令进行推送后,出现了此错误: error: RPC failed; result=22, HTTP code = 411 fatal: The remote end hung up unexpectedly fatal: The remote end hung up unexpectedly Everything up-to-date 我用Google搜索,发现问题,比如这一个和这一个,但没有答案的这些问题解决了我的问题。 大多数答案都暗示了头部脱落的问题。但是我不认为我的头会松动。我也不认为我在错误的分支上(因为我只有一个分支...) 我做了一些实验来找出问题所在,这是我得到的结果: (1)首先是我的git status输出 # On branch master # Untracked files: # (use "git add <file>..." to include in …
127 git  github 

9
将多个git仓库签出到同一Jenkins工作区中
使用Jenkins 1.501和Jenkins Git插件1.1.26 我有3个不同的git仓库,每个仓库都有多个项目。 现在,我需要将所有3个git仓库中的项目签出到Jenkins从属服务器的同一工作区中。我在以下代码中定义了每个git repo:源代码管理:多个SCM。但是每次签出一个回购协议时,先前的回购协议(及其关联项目)都会被删除。 我读过这个: http://jenkins.361315.n4.nabble.com/multiple-git-repos-in-one-job-td4633300.html 但它并没有真正的帮助。我尝试为所有存储库在本地子目录下为存储库指定相同的文件夹(可选),但结果相同。 如果使用Jenkins根本不可能做到这一点,我想可以使用一些预构建步骤/脚本来将项目移至正确的位置。不能修改项目的构建配置。
127 git  jenkins 

3
如何删除Github和本地上的最后n个提交?
我正在尝试从我的GitHub存储库中删除最后2个提交。我已尝试按照这里的建议进行:git push -f origin HEAD^^:master。似乎可行,因为删除了最后两个提交。 然后,我使用将它们从本地存储库中删除git rebase -i HEAD~2。我删除与那些提交相关的行,并检查git log它们是否被正确删除。 之后,我在本地存储库中进行了一些更改,进行了新的提交,然后推送到GitHub。问题是,在我的GitHub帐户中,我有尝试删除的前两个提交。 我认为问题出在我的本地存储库中,因为如果我将Github存储库克隆到本地并在此处进行一些更改,则当我推送一个新的提交时,那些旧的提交不会被推送到GitHub。 任何想法?
127 git  github  commit 

4
还原git中的一系列提交
如何在git中还原一系列提交?通过查看gitrevisions文档,我看不到如何指定所需的范围。例如: A -> B -> C -> D -> E -> HEAD 我想做相当于: git revert B-D 结果将是: A -> B -> C -> D -> E -> F -> HEAD 其中F包含BD的反数(含BD)。
127 git  revert  range 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.