Questions tagged «git»

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

5
Git:如何从历史提交中删除文件?
我已提交ID为56f06019的提交(例如)。在该提交中,我意外地提交了大文件(50Mb)。在另一次提交中,我添加了相同的文件,但大小合适(小)。现在,当我克隆的文件太重时,我的存储库:(如何从存储库历史记录中删除该大文件以减小存储库的大小?
113 git 

12
Cocoapods设置卡在终端的pod设置命令上
MacBook-Pro:~ skbc$ pod setup --verbose /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb:212: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777 Setting up CocoaPods master repo Cloning spec repo `master` from `https://github.com/CocoaPods/Specs.git` (branch `master`) $ /usr/bin/git clone 'https://github.com/CocoaPods/Specs.git' master Cloning into 'master'... 浏览了Cocoapods网站提供的资源,SO和一些视频教程。即使等待了几个小时也没有任何反应,但是仍然试图弄清楚问题出在哪里?非常感谢您的意见和建议。谢谢!!!
113 ios  ruby  git  xcode5  cocoapods 

22
如何永久禁用Visual Studio 2013中的Git集成?
我知道您可以通过使用“工具/选项”对话框来禁用git集成,但是我注意到的是,该设置似乎并没有在所有会话中保持不变;即,一旦关闭并重新打开解决方案,便会再次启用Git集成。我猜Visual Studio在解决方案文件系统树中看到了.git文件夹。 启用Git插件时,有许多Visual Studio 2013插件的行为不正确,我更喜欢在命令行上管理源代码控制,并且我从事一些非常大的项目,这些项目的Git集成带来了明显的放缓在打开和使用解决方案。我想永久关闭它,因为我根本不使用它或不需要它。这可能吗?

12
rsync根据.gitignore和.hgignore&svn排除:--ignore像--filter =:C
Rsync包含一个漂亮的选项--cvs-exclude,“以与CVS相同的方式忽略文件”,但是CVS已经过时了多年。有什么办法可以使其也排除现代版本控制系统(Git,Mercurial,Subversion)会忽略的文件? 例如,我有很多从GitHub签出的Maven项目。通常,它们.gitignore至少包含一个列表target,即默认的Maven构建目录(可以在顶层或子模块中显示)。由于这些目录的内容完全是一次性的,并且它们可能比源代码大得多,因此在使用rsync进行备份时,我想排除它们。 当然,我可以明确地这样做,--exclude=target/但是这会意外地抑制那些恰好被命名target但不应该被忽略的无关目录。 而且我可以提供磁盘上任何.gitignore,.hgignore或svn:ignore属性中提到的所有文件名和模式的绝对路径的完整列表,但这将是一个庞大的列表,必须通过某种脚本来生成。 由于rsync除了CVS外没有对VCS检出的内置支持,因此是否有将其馈送为其忽略模式的好技巧?还是某种回调系统,可以询问用户脚本是否应包含给定的文件/目录? 更新:--filter=':- .gitignore'LordJavac的建议对于Git --filter=:C似乎和对CVS一样有效,至少在我发现的示例中,尽管尚不清楚语法是否完全匹配。--filter=':- .hgignore'对于Mercurial来说效果不佳;例如,.hgignore包含诸如这样的行^target$(与Git的Mercurial等效/target/)被rsync识别为正则表达式。对于Subversion似乎没有任何作用,您必须为它解析.svn/dir-prop-base1.6或更早版本的工作副本,而对1.7或更高版本的工作副本感到沮丧。
113 git  svn  mercurial  rsync 

5
按更改类型过滤git diff
有没有办法限制git diff更改的文件? 我想查看两次提交之间的差异,但排除一个或另一个不存在的路径(添加/删除)。以下Perl一线式说明了我想要的大部分内容: git diff master.. | perl -lnwe 'print unless /^(new|deleted) file/../^diff/ and not /^diff/' 但这会留下diff --git a/path b/path新文件或已删除文件的行。加上如果我不必解析(例如,如果大块包含与/ ^ diff /匹配的任何东西也会失败)会更好。 我尝试过的另一个选择是: git diff --name-status (args) | perl -lnwe 'print if s/^M\s+//' | xargs git diff (args) -- 它的输出更好,但仍然让人感到有些呆滞。
113 git  diff 

3
当我尝试推向起点时,为什么Git会告诉我“没有这样的远程'起点'”?
我对Git很陌生;我最近才创建了一个GitHub帐户。 我刚刚尝试推送我的第一个存储库(一个示例项目),但是出现以下错误: No such remote 'origin' 我运行了以下命令: git init git commit -m "first commit" git remote add origin https://github.com/VijayNew/NewExample.git git push -u origin master 但是,当我运行git commit -m“ first commit”时,收到以下消息: nothing added to commit but untracked files present (use "git add" to track) 于是我试图设置origin,使用 git remote set-url origin https://github.com/VijayNew/NewExample.git 但我收到以下错误: No …
113 git  github  push  git-remote 

20
Git不会初始化/同步/更新新的子模块
这是我.gitmodules文件内容的一部分: [submodule "src/static_management"] path = src/static_management url = git://github.com/eykd/django-static-management.git [submodule "external/pyfacebook"] path = external/pyfacebook url = http://github.com/sciyoshi/pyfacebook.git 但是,.git/config仅包含第一个: [submodule "src/static_management"] url = git://github.com/eykd/django-static-management.git 第二个子模块(external/pyfacebook)是由另一个开发人员在功能分支中添加的。我现在继承了开发,并签出了功能分支。但是,Git不会为我拉子模块。我试过了: git submodule init git submodule update git submodule update --init git submodule sync 从中删除所有子模块定义.git/config并运行git submodule init。它仅复制先前存在的子模块,而忽略新的子模块。 .git/config手动输入新的子模块定义并运行git submodule update。仅先前存在的子模块需要更新。 git有多种组合,但是git不会.git/config根据的新内容进行更新.gitmodules,也不会创建external/pyfacebook文件夹并提取子模块的内容。 我想念什么?是否.git/config确实需要手动干预(将手工添加子模块条目),为什么? 编辑:手动干预不起作用。手动将新的子模块条目添加到.git/config不会执行任何操作。新的子模块将被忽略。


3
您如何以其他用户身份提交代码?
我希望能够针对脚本执行此操作。我实质上是在Git中重新创建某些代码的完整版本历史记录-当前它使用了不同的版本控制系统。我需要脚本能够将提交添加到Git,同时保留提交的原始作者(和日期)。 假设我知道提交作者和进行更改的日期/时间,是否可以使用Git命令执行此操作?我假设有,因为git-p4做类似的事情。我只是在寻求最好的方法。
112 git  command-line  commit 


2
我的请求请求已合并,下一步该怎么办?
我最近参加了GitHub的一个项目。我做了以下事情: 分叉原始存储库,将其克隆到我的本地计算机,创建一个分支来修复现有的错误,修复该分支中的错误,将该分支推送到我的仓库中,向存储库的作者发送拉取请求以将我的修订分支合并到它的主分支。 这是我第一次提交别人的代码,所以我不知道该怎么做。现在,我的拉取请求已被作者合并到原始回购/项目中。 接下来我该怎么办?我应该删除分支吗?我应该合并分支吗?还要别的吗? 附加信息: 原始项目只有一个分支。 我还有一个上游设备,可以从原始存储库获取最新更新。(我这样做是这样的): git remote add upstream https://path/to/original/repo.git 我得到这样的更新: git fetch upstream
112 git  github 

5
从git提取时出错-权限不足,无法将对象添加到存储库数据库.git / objects
我有git错误:每当我进行“ git pull origin development”时,“没有足够权限将对象添加到存储库数据库.git / objects中”。 remote: Counting objects: 70, done. remote: Compressing objects: 100% (7/7), done. remote: Total 42 (delta 35), reused 42 (delta 35) error: insufficient permission for adding an object to repository database .git/objects fatal: failed to write object fatal: unpack-objects failed
112 git 

2
重做合并仅一个文件
我正处于一个大型合并的中间,我曾经git mergetool解决过所有冲突,但是我还没有承诺,因为我想确保合并可以首先进行。 事实证明,在解决一个文件中的冲突时我犯了一个错误,我想git mergetool在该文件上重做冲突解决方案。由于这是一次大型合并,因此我想避免对所有其他文件重做合并,据我所知,我将对此进行处理git merge --abort。 我知道我可以手动编辑文件,但是这很繁琐,并且只需重做该git mergetool操作就会容易得多。这可能吗?
112 git  merge 

18
git从终端推送错误的用户
我在git和终端机上遇到问题。 这是一个画廊,向您展示我的问题:http : //imgur.com/a/6RrEY 当我从终端推送提交时,git说我用另一个用户名推送它们,那是我组织(我公司)的用户,根本没有提交,看来它不属于任何人:(请查看图库第一张图片) 但是,当我在Mac上使用Github时,这不会发生,在Feed中,我看到了自己推送的提交。 该问题也影响到我的个人存储库,我的终端说我没有权限在这些存储库上推送提交(这显然是错误的),因为它试图与该用户一起推送它:(请查看图片库第二张图片) 你猜怎么了 ?Mac版Github也不会发生这种情况。 几天前,我将计算机更改为全新的计算机,所以我重置了github的所有ssh密钥,只保留了Github为Mac生成的新密钥,因此我认为没有隐藏的幽灵用户/ ssh密钥在某个地方,这个硬盘是全新的:(请查看图库第三张图片) 我的.gitconfig文件很清楚,只有我的凭据:(请查看库第四张图片) 我真的不明白,帮助,StackOverflow,您是我唯一的希望。 (我对我的拙劣的金普技能和《星球大战》的致歉) 编辑: ssh-add -l仅显示由github为mac创建的良好的ssh密钥,我只有一个github帐户 EDIT2: ssh -T git@github.com认出我是好用户。 EDIT3:经过几次测试,看起来我的终端使用我的用户名进行提交,但将其与另一个用户一起推送,Github for mac提交并使用良好的用户名进行推送。这种情况发生在我拥有/制造的每个仓库中那些)。 EDIT4:在个人存储库中git log --pretty="%h %an %ae"显示我的好用户名 EDIT5:没有迹象表明环境变量会覆盖我的凭证env。即使我尝试设置具有良好凭据的那些变量,问题仍然存在。 EDIT6:如果我强迫用户进入/.git/config存储库的路径,事情将正常进行,但我认为这不是一个好选择:http://USER@github.com/USER/REPO.git EDIT7:我们删除了为我推送提交的git用户,这带来了另一个错误:remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/USER/REPO.git/' 最终编辑:我使用自制软件安装了git,输入了git, git config --global push.default simple 现在即使没有强制用户也需要我的凭据。那很奇怪。谢谢大家的帮助,你们真棒!
112 git  github  ssh 

3
如何关闭Git分支?
所以我开始使用Git + GitHub。 在我们这个分散的小组中,每个成员都为分配的每个问题/需求创建自己的分支。 git branch Issue#1 <-- create this branch git checkout issue#1 <-- switch over to this branch 现在code code,commit,code,commit,等... 然后pull request,code-fixup,commit,code,commit..等 并最终接受请求。 哇 但是..现在呢?(......尴尬......) 在本地开发机器上创建分支的人员是否需要关闭分支?建议开发人员删除分支`(... ...- D ...),然后拉/刷新master ..然后将获取所有分支代码。 嗯...不确定-请帮助:)
112 git  github 

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.