Questions tagged «git»

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

8
git rm-致命:pathspec与任何文件都不匹配
我无意中将超过9000张照片添加到我的项目文件夹中。并承诺。然后从磁盘删除它们。致力于。 现在,我尝试将更改推送到git服务器。但是它花费的时间太长,并试图发送12 Gb的数据。 我检查了磁盘上的文件大小,发现该.git文件夹实际占用了12 Gb。 如何从那里删除照片?我尝试过git rm,但失败了: ❯ git rm public/photos fatal: pathspec 'public/photos' did not match any files 因为我已经将它们从磁盘上删除了,但是它们仍在.git文件夹中。 我试图添加public/photos到.gitignore: public/photos/ *.zip 但是没有结果。当然hard reset head,当我的项目中没有太多垃圾照片时,我可能会稍等片刻。但是从那以后,我投入了很多次,并对代码进行了很多更改。


24
Git / Bower错误:退出代码#128和连接失败
我正在使用Bower安装几个库。出于演示目的,我正在安装引导程序。无论使用哪种包装,我都会收到以下错误消息: C:\Scott>bower install bootstrap bower not-cached git://github.com/twbs/bootstrap.git#* bower resolve git://github.com/twbs/bootstrap.git#* bower ECMDERR Failed to execute "git ls-remote --tags --heads git://github .com/twbs/bootstrap.git", exit code of #128 Additional error details: fatal: unable to access 'https://github.com/twbs/bootstrap.git/': Failed connect to github.com:443; No error 我尝试使用以下解决方案删除第一个错误-从此搜索中发现的第一个错误: git config --global url."https://".insteadOf git:// 但是,这不起作用,该页面上的任何其他解决方案也不起作用。在寻找第二种错误的解决方案时,如果您在公司网络中/防火墙后面,则为代理服务器设置用户名/密码似乎可以解决该问题。但是,我没有像在家用PC /网络(Windows 7 x64)上那样使用代理服务器。 谢谢! …
86 git  bower 

5
将大型Git存储库拆分为许多较小的存储库
在将SVN信息库成功转换为Git之后,我现在拥有一个非常大的Git信息库,我想分解为多个较小的信息库并维护历史记录。 因此,有人可以帮助分解可能如下所示的存储库: MyHugeRepo/ .git/ DIR_A/ DIR_B/ DIR_1/ DIR_2/ 分为两个如下所示的存储库: MyABRepo/ .git DIR_A/ DIR_B/ My12Repo/ .git DIR_1/ DIR_2/ 我已经尝试按照上一个问题中的指示进行操作,但是当尝试将多个目录放入一个单独的仓库(将子目录分离(移动)到单独的Git存储库中)时,它确实不合适。

2
进行git push时警告“ diff.renamelimit变量”
我将本地提交推送到远程git服务器,并收到以下警告消息: remote: warning: only found copies from modified paths due to too many files. remote: warning: you may want to set your diff.renamelimit variable to at least 19824 and retry the command. 但是实际上我已经将diff.renamelimit设置为0(我认为零意味着无限制,对吧?)。 $ git config --list ... diff.renamelimit=0 那么,如何避免此警告?谢谢。
86 git  warnings  push 

3
显示直接对分支所做的提交,而忽略Git中的合并
使用git时,有没有办法显示对分支所做的提交,而忽略合并带来的所有提交? 我正在尝试查看在分支上所做的代码更改,而忽略了我们在合并的其他分支上所做的更改。我知道几乎不可能以这种方式显示差异,但是我希望能够找出我需要审查的提交。
86 git  merge  branch  diff 

6
git钩子的符号链接
我编写了自己的自定义合并后钩子,现在我在主项目文件夹中添加了一个“ hooks”目录(因为git无法跟踪.git / hooks中的更改),因此我读到可以从钩子建立符号链接的地方到.git / hooks,这样我就不必在每次有人更改文件时都将文件从一个文件夹复制到另一个文件夹,因此我尝试了: ln -s -f hooks/post-merge .git/hooks/post-merge 但这似乎不起作用,有什么主意吗?“在钩子/合并后.git / hooks /合并后”效果很好,但进行硬链接与我想的copyin相同...
86 linux  git  githooks 

2
是否可以git-checkout一行而不是整个文件?
如果修改了版本文件的几行,是否可以通过命令行撤消对一行的更改? 就像我会用以下方法处理整个文件一样: git checkout /path/to/file.extension 但是做类似的事情 git checkout /path/to/file.extension --line 10 这可能吗?
86 git  git-checkout 

1
推动“未签出”分支
我想先推送一个分支(而不是当前分支),而不必先将其签出,如何实现呢? 这就是我要做的: #currently in master git checkout feature git push origin feature git checkout master 但是签出功能会导致冲突,我不能只推送当前分支以外的另一个分支吗?
86 git 

3
试图了解Travis CI的功能以及何时使用
我是Git的新手,在发现其中的一个小错误后,我打算为GitHub上的某个开源项目做出贡献。在分叉并修复错误后,我提出了一个拉取请求,并且注意到出现了这样的情况: 失败-Travis CI构建失败 查看详细信息,我发现它是由引起的Could not find .travis.yml,这很合理,因为我没有使用来登录Travis Cl,也没有将.travis.yml添加到存储库。 这是我第一次听说Travis,也就是所谓的持续集成。它听起来很酷,因此为了进一步了解它,我在Wikipedia上进行了查找。 Travis CI是一项托管的分布式连续集成服务,用于构建和测试GitHub上托管的项目。Travis CI自动检测何时进行了提交并将其推送到使用Travis CI的GitHub存储库中,并且每次发生这种情况时,它将尝试构建项目并运行测试。这包括对所有分支的提交,而不仅仅是对master分支的提交。 我目前对Travis CI的理解是,它所做的是自动推动项目进行的,git commit -am ".."而我对此不太了解。 通过构建项目并运行测试,它将运行什么测试?以及如何“构建”项目?(例如将其编译为二进制文件?) 它声明“这包括提交到所有分支” –但是,如果我不想提交到所有分支怎么办? 如果我完全不使用Travis Cl,可以吗?在什么情况下最好使用它(或必须使用它)?

8
使用Git,显示在一个特定分支上*仅*存在的所有提交,而不显示其他*任何*
给定一个分支,我想查看仅存在于该分支上的提交列表。在这个问题中,我们讨论了查看哪些提交在一个分支上但不在一个或多个指定的其他分支上的方法。 这略有不同。我想看看哪些提交在一个分支上,但不在任何其他分支上。 用例处于分支策略中,其中某些分支仅应合并到其中,而不能直接提交。这将用于检查是否直接在“仅合并”分支上进行了任何提交。 编辑:以下是设置虚拟git repo进行测试的步骤: git init echo foo1 >> foo.txt git add foo.txt git commit -am "initial valid commit" git checkout -b merge-only echo bar >> bar.txt git add bar.txt git commit -am "bad commit directly on merge-only" git checkout master echo foo2 >> foo.txt git commit -am "2nd …
86 git 


7
Git for Perforce用户
我已经使用Perforce多年了。我想将git用作个人代码,但是我所见过的所有git教程都假定您是完整的源代码管理n00b(这使它们变得非常繁琐),或者您习惯了svn(我不是)。 我了解p4,我也了解分布式源代码控制系统背后的思想(因此,我不需要推销)。我想要的是从p4命令到等效git命令的转换表,以及没有p4等效命令的“不能没有”命令。 由于我怀疑每个p4用户都使用p4的不同子集,因此我经常希望在p4中执行一些我希望能够在git中执行的操作,这些操作在我看过的文档中并不能立即看出来: 在单个客户端中创建多个挂起的更改列表。(p4 change) 编辑待处理的更改列表。(也p4 change) 查看我所有待处理变更列表的列表(p4 changes -s pending) 我的客户端(p4 opened)或挂起的变更列表(p4 describe)中所有已更改文件的列表 查看待处理变更列表的差异(为此,我使用了一个包装脚本,该脚本使用p4 diff和p4 describe) 对于给定的文件,请查看哪些已提交的更改列表影响了哪些行(p4 annotate) 对于给定的文件,请参阅影响文件的变更列表的描述列表(p4 log) 提交待处理的更改列表(p4 submit -c) 中止待处理的变更清单(p4 revert) 其中许多围绕“变更列表”。“更改列表”是p4术语。git等效项是什么? 听起来分支可能是git用户用来代替p4调用变更列表的东西。有点混乱,因为p4也有一个叫做分支的东西,尽管它们似乎只是模糊的相关概念。(尽管我一直认为p4的分支概念很奇怪,但又与经典的RCS分支概念有所不同。) 无论如何...我不确定如何用git的分支来完成我通常在p4更改列表中所做的工作。在p4中,我可以执行以下操作: $ p4 edit a.txt $ p4 change a.txt Change 12345 created. 此时,我有一个包含a.txt的changlist。我可以编辑说明并继续工作而无需提交更改列表。另外,如果事实证明我需要对其他文件进行一些更改,例如在代码的其他层中进行错误修复,则可以在同一客户端中执行此操作: $ p4 edit z.txt $ p4 change z.txt Change …
86 git  perforce 

11
git commit错误:pathspec'commit'与git已知的任何文件都不匹配
我正在尝试将Ruby应用程序上传到Heroku。我git init先输入git add .,然后键入,然后使用git commit -m initial commit。 每当我使用时git commit -m,我都会收到一条错误消息: git commit错误:pathspect'commit'与git已知的任何文件都不匹配。 有人告诉我,这是由于参数顺序错误而发生的。 我注意到的是,当我使用git add .它时,它不会列出要添加的文件,因为它只会转到下一行。 我怀疑我遇到了这个问题,因为我的文件没有真正添加。 我将不胜感激有关如何解决此问题的任何建议。
86 git  command-line 

2
Git从另一个存储库中拉出一个分支?
我有一个本地git仓库,它是github上一个仓库的克隆。有人分叉了存储库,并在新存储库的新分支中进行了更改。我想将此新分支移到我的存储库中(在与主数据库合并之前先在本地进行处理)。 我尝试创建一个新分支,然后从派生的存储库中拉出,但是它抱怨,因为新分支是master分支的副本以及本地文件更改,因此它说 error: Your local changes to the following files would be overwritten by merge。 那么,如何将另一个存储库中的分支拉入本地存储库中的新分支? 我希望这是有道理的。如果没有,这是我的存储库:https : //github.com/MatthewLM/cbitcoin 如您所见,有人用分支“ linuxBuild”创建了一个新的存储库:https : //github.com/austonst/cbitcoin/tree/linuxBuild 我想要我的本地存储库中的MatthewLM / cbitcoin分支。 我怎样才能做到这一点?
86 git  github  git-branch 

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.