注意:虽然所描述的用例是关于在一个项目中使用子模块的,但这同样适用于基于HTTP的存储库的正常git clone 。 我有一个在Git控制下的项目。 我想添加一个子模块: git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu 但是我明白了 … got 1b0313f016d98e556396c91d08127c59722762d0 got 4c42d44a9221209293e5f3eb7e662a1571b09421 got b0d6414e3ca5c2fb4b95b7712c7edbf7d2becac7 error: Unable to find abc07fcf79aebed56497e3894c6c3c06046f913a under http://github.com/jscruggs/metri… Cannot obtain needed commit abc07fcf79aebed56497e3894c6c3c06046f913a while processing commit ee576543b3a0820cc966cc10cc41e6ffb3415658. fatal: Fetch failed. Clone of 'http://github.com/jscruggs/metric_fu.git' into submodule path 'vendor/plugins/metric_fu' 我有我的HTTP_PROXY设置: c:\project> echo %HTTP_PROXY% http://proxy.mycompany:80 我甚至有一个全局的Git设置为http代理: c:\project> git config –get http.proxy […]
我想重新命名/移动Git中的项目子树 /project/xyz 至 /components/xyz 如果我使用普通的git mv project components则xyz project所有文件历史记录都将丢失。 有没有办法来移动这样的历史维护?
如何重置我的本地分支,就像远程存储库上的分支一样? 我做了: git reset –hard HEAD 但是当我运行一个git status , On branch master Changes to be committed: (use "git reset HEAD <file>…" to unstage) modified: java/com/mycompany/TestContacts.java modified: java/com/mycompany/TestParser.java 你能告诉我为什么我有这些“修改”? 我没有触及这些文件? 如果我做了,我想删除这些。
我宁愿在Vim中编写我的提交消息,但是它在Emacs中打开它们。 我如何配置Git始终使用Vim? 请注意,我想要在全球范围内执行此操作,而不是针对单个项目。
我试着用CRLF结束行提交文件,但是失败了。 我花了整整一天的时间在我的Windows计算机上尝试不同的策略,几乎被停止尝试使用Git,而是尝试使用Mercurial 。 每个答案只能分享一个最佳做法。
我在我的硬盘上(本地)克隆了USB密钥上的回购(原产地)。 我把“起源”移到了NAS上,并成功地从这里克隆了它。 我想知道是否可以在“local”的设置中更改“origin”的URI,以便现在从NAS中拔出,而不是从USB中拔出。 现在,我可以看到两个解决方案: 把所有的东西都推到usb-orign上,然后再把它复制到NAS(意味着由于新的提交到nas-origin而需要做很多工作)。 添加一个新的远程“本地”,并删除旧的(我怕我会打破我的历史)。
当我使用Git克隆一个远程仓库与http和用户密码时,是否有可能在Windows上使用.netrc文件?
我怎样才能将一个“正常”的Git仓库转换为裸机? 主要区别似乎是: 在正常的git仓库中,仓库中有一个.git文件夹,其中包含所有相关数据,所有其他文件构建您的工作副本 在一个repo.git Git仓库中,没有工作副本,并且该文件夹(让我们称之为repo.git )包含实际的数据库数据
我克隆我的存储库: git clone ssh://xxxxx/xx.git 但在我改变了一些文件并add并commit ,我想将它们推送到服务器: git add xxx.php git commit -m "TEST" git push origin master 但是我得到的错误是: error: src refspec master does not match any. error: failed to push some refs to 'ssh://xxxxx.com/project.git'
我怎样才能查看我所做的任何本地提交,还没有推送到远程存储库? 有时候, git status会打印出来,我的分支是X在origin/master之前提交,但并不总是如此。 这是我的安装Git的错误,还是我错过了什么?