相关疑难解决方法(0)

在git中推送提交时,src refspec master与any不匹配

我克隆了我的存储库:

git clone ssh://xxxxx/xx.git 
Run Code Online (Sandbox Code Playgroud)

但之后,我改变了一些文件,并addcommit他们,我想他们推到服务器:

git add xxx.php
git commit -m "TEST"
git push origin master
Run Code Online (Sandbox Code Playgroud)

但我得到的错误是:

error: src refspec master does not match any.  
error: failed to push some refs to 'ssh://xxxxx.com/project.git'
Run Code Online (Sandbox Code Playgroud)

git commit

2472
推荐指数
75
解决办法
173万
查看次数

Git拉得很慢..为什么?

注意我已经研究了git-is-very-slow-slow问题,但在他们的情况下,原因是大的二进制文件 - 而在我的存储库中有PHP/JS/HTML/CSS唯一的代码(没有二进制文件)和最大的文件在存储库中大约800 KB.

我已经改变了一个文件(几行),然后git add .git commit -m "msg",然后git push origin master.

在其他一些机器上,当我这样做时,git pull origin master它会下载一些MiB数据,计算增量并应用更改需要2分钟以上.这里有些非常错误.

我怀疑最近的一些操作可能会导致这种情况:

最近,bower_components当我意识到它时,我偶然添加了许多供应商资产(资产),我曾经git rm将它们从存储库中删除(当然git add,git commit还有git push上游)

那是几天前,我现在遇到的问题就是在那个时候开始发生的.

我有两个问题:

  • 为什么会这样?
  • 我该如何修复我的存储库?

注意:我是唯一一个使用和推送这个回购的人.

git version-control repository

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

Git传输协议规范

我正在玩git的传输协议,我只是想知道在我尝试读取源代码之前是否有一些详细的规范?

git

9
推荐指数
1
解决办法
3756
查看次数

git clone --filter选项的语法是什么?

Git 2.17更新日志描述了此选项:

  • 有人介绍了克隆和获取的机制,这又涉及包装和拆包对象,该机器已被告知如何使用
    另一个主题引入的过滤机制来省略某些对象。现在
    ,它知道将生成的包标记为允诺包,以容忍丢失的
    对象,为“狭窄”克隆奠定基础。

这个标志准备好使用了吗,还是很有可能很不稳定?有谁知道正确的语法通过?我通过的所有标志都被视为无效的过滤器规范而被拒绝。例如,这些是我尝试按目录过滤的:

git clone file://path --depth=1 --filter '--subdirectory-filter Assets' TestRepo
git clone file://path --depth=1 --filter --subdirectory-filter Assets TestRepo
git clone file://path --depth=1 --filter Assets TestRepo
Run Code Online (Sandbox Code Playgroud)

git

8
推荐指数
2
解决办法
5806
查看次数


浅层和稀疏的 GIT 存储库克隆

我有一个超过 1 GB 的浅克隆 git 存储库。我对所需的文件/目录使用稀疏结帐。

如何将存储库克隆减少为稀疏的签出文件/目录?

最初,我可以通过在克隆时禁用检出来将克隆存储库限制为仅稀疏检出。然后在进行初始结帐之前设置稀疏结帐。这将存储库限制为仅约 200 MB。更易于管理。但是,在将来的某个时刻更新远程分支信息会导致其余文件和目录包含在存储库克隆中。将存储库克隆大小发送回超过 1 GB,我不知道如何仅删除稀疏的签出文件和目录。

简而言之,我想要的是一个浅稀疏的存储库克隆。不仅仅是浅层回购克隆的稀疏签出。完整的存储库会浪费空间,并且某些任务的性能会受到影响。

希望有人能分享解决方案。谢谢。

git clone repository sparse-checkout

6
推荐指数
1
解决办法
4077
查看次数

如果git fetch被取消,它会恢复一半吗?

有时获取任何git存储库(通过执行" git fetch repository_URL")可能需要数小时,具体取决于存储库的大小和网络速度.

如果出于某种原因,用户取消了中途获取,然后尝试获取相同的存储库,在他/她取消最后一次获取的完全相同的环境中,获取将如何工作?

它会从中断处继续取回吗?

git resume

5
推荐指数
1
解决办法
1874
查看次数

如何浅拉按分支名称跟踪的子模块

您好,我有一个包含子模块的超级项目。子模块通过分支名称而不是 sha 提交号进行跟踪。在我们的构建服务器上,我想尽可能少地拉动。所以我尝试了

git submodule update --remote --init 
Run Code Online (Sandbox Code Playgroud)

然而这并不肤浅。似乎拉出所有内容然后切换到分支

git submodule update --remote --init --depth 1
Run Code Online (Sandbox Code Playgroud)

这不起作用,它失败了:

git submodule update --remote --init --depth 1 ThirdParty/protobuf
Submodule 'ThirdParty/protobuf' (ssh://myrepo/thirdparty/protobuf.git) 
registered for path 'ThirdParty/protobuf'
Cloning into '/home/martin/jenkins/workspace/test_log_service/repo/ThirdParty/protobuf'...
fatal: Needed a single revision
Unable to find current origin/version/3.2.0-era revision in submodule path 'ThirdParty/protobuf'
Run Code Online (Sandbox Code Playgroud)

关于浅层子模块有一个不同的问题,但是我不认为它适用于分支,仅适用于 sha 提交

git git-submodules

5
推荐指数
1
解决办法
2895
查看次数

致命:配置“protocol.version”的未知值:2

我决定打开 Git 协议第 2 版(我想它更快,无噪音),所以我做了:

git config --global protocol.version 2
Run Code Online (Sandbox Code Playgroud)

但是当我尝试

git pull
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

git config --global protocol.version 2
Run Code Online (Sandbox Code Playgroud)

我的操作系统是 Ubuntu 18.04。我在 Ubuntu 16.04 上的朋友做了同样的事情,并且对他有用。我可能缺少一些依赖项吗?

git

4
推荐指数
1
解决办法
1530
查看次数

git 是将更改后的大文件完全上传到远程,还是可以上传差异?

假设我有一个大文本文件,它会定期更改某些部分。我想让它与 git 服务器上的远程版本保持同步,最好只上传其更改的部分。

git 的默认行为是什么?git 每次更改时都会上传整个文件吗?或者可以选择只上传差异?

非文本(二进制)文件呢?

谢谢

git

4
推荐指数
1
解决办法
217
查看次数

如何提高git log的性能?

我试图从这样的几个存储库中提取git日志:

git log --pretty=format:%H\t%ae\t%an\t%at\t%s --numstat
Run Code Online (Sandbox Code Playgroud)

对于较大的存储库(例如rails / rails),需要花费35秒钟以上的时间才能生成日志。

有没有办法改善这种性能?

git

3
推荐指数
3
解决办法
1333
查看次数