我正在尝试将功能分支的变基强制推送到远程存储库。为了更安全一点,我试图--force-with-lease确保自上次获取分支以来没有发生其他更改。
由于我不明白的原因,这失败了:
$ git branch
* my-branch
master
$ git push --force-with-lease origin my-branch -u
To gitlab.com:example/my-project.git
! [rejected] my-branch -> my-branch (stale info)
error: failed to push some refs to 'git@gitlab.com:example/my-project.git'
Run Code Online (Sandbox Code Playgroud)
我尝试 fetch 以查看我的本地缓存是否以某种方式不同步:
$ git fetch
$ git push --force-with-lease origin my-branch -u
To gitlab.com:example/my-project.git
! [rejected] my-branch -> my-branch (stale info)
error: failed to push some refs to 'git@gitlab.com:example/my-project.git'
Run Code Online (Sandbox Code Playgroud)
我尝试稍微简化 push 命令:
$ git push --force-with-lease
To gitlab.com:example/my-project.git
! [rejected] my-branch -> my-branch (stale info) …Run Code Online (Sandbox Code Playgroud) 我通过将它们应用于夜间构建来使用标签.然后,我想用输出describe --tags --match <latest tag>告诉我每晚构建我的图像有多远.这是用于QA测试.
我刚刚在比当前标记更旧的克隆中遇到错误.我运行了git fetch --tags,所以我在git tag输出中看到了标签,但是当我运行时git describe --tags --match <tagname>,我得到了fatal: No tags can describe <head sha1 version number>.此时我无法执行git pull来更新工作区.为什么会发生这种情况并且有解决方法?非常感谢
我最近从SVN转到git,并尝试学习git的方法.我需要找到我的存储库的2个分支之间已更改的文件.我使用以下命令:
git diff branch_2..branch_1
Run Code Online (Sandbox Code Playgroud)
我得到了以下错误:
fatal: ambiguous argument 'branch_2..branch_1': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Run Code Online (Sandbox Code Playgroud)
git branch给出以下o/p:
git branch -a
* branch_1
master/origin
remotes/origin/HEAD -> origin/master
remotes/origin/branch_2
remotes/origin/branch_1
Run Code Online (Sandbox Code Playgroud) 最新的AOSP源代码的大小相当大(.repo目录大约为30-35 Gb,工作目录大约为15 Gb).有没有办法只下载最新版本的源代码(官方棉花糖版本)的快照,而没有整个回购历史记录?这样可以节省很多带宽和存储空间.
我有一个项目,我无法访问git存储库.我想把它放在一个新的存储库(在Bitbucket上),但是当我试图git push -u origin --all获得! [remote rejected] master -> master (shallow update not allowed)所有分支时.
显然有一个receive.shallowUpdate配置选项,但如何在远程端设置它?
制作unhallow克隆不是一种选择,因为我无法访问原始的repo.
我已经“浅化”了一个回购协议:
\n\nFIRST_COMMIT="bf450342272a94117d78eae34a140a2a39359dad"\ngit rev-parse ${FIRST_COMMIT} > .git/shallow\ngit fsck --unreachable\ngit gc --prune=now\nRun Code Online (Sandbox Code Playgroud)\n\n现在我尝试推动:
\n\n! [remote rejected] develop -> develop (shallow update not allowed)\nRun Code Online (Sandbox Code Playgroud)\n\n我知道这个限制是由于回购协议很浅造成的。
\n\n如何将浅层仓库转换为普通仓库?
\n\n我不在乎失去旧历史。其实我想丢掉旧历史
\n\n为了澄清这一点:
\n\n简单地删除该.git/shallow文件是行不通的:
\xc2\xbb git push -f --set-upstream myorigin develop\nerror: Could not read d18d4a247bebd32a3b57b2c0e5f9c28749083211\nfatal: revision walk setup failed\nerror: remote unpack failed: eof before pack header was fully read\nerror: failed to push some …Run Code Online (Sandbox Code Playgroud) 要查找git分支上的提交数量,您可以执行以下操作:
$ git rev-list --count HEAD
920
Run Code Online (Sandbox Code Playgroud)
但是,如果您最初使用克隆--depth=1,则不起作用:
$ git clone https://github.com/ndmitchell/hoogle.git --depth=1
$ cd hoogle
$ git rev-list --count HEAD
1
Run Code Online (Sandbox Code Playgroud)
有没有办法获得--depth=1克隆的速度和减少的网络流量,但是还获得了提交数量的计数?
我正在使用一个非常大的存储库。无论好坏,即使使用git clone --depth=1也会产生几 MB。整个仓库超过 1GB,我不需要那么多信息。
克隆一个存储库后,git clone --depth=X如何增加更多深度?
就我而言,我最初将深度设置为 1。有没有一种方法可以将所有详细信息的深度提高到 20,而无需删除并使用新的深度值重新克隆存储库?
最近有人向我介绍了 git clone 的 --深度 1。显然这并没有获取所有历史记录并且速度要快得多。我用了:
git克隆--深度1-b开发https://github.MyCompany.com/CoolProduct/CoolProduct.git
这使我能够发挥、修改和分支开发分支。
但是,现在我想查看另一个分支“BillsFeature”,我尝试过: git checkout BillsFeature 并收到错误:pathspec 'BillsFeature' 与 git 已知的任何文件不匹配
这对我来说有一定道理。大概是因为我使用了--深度1,所以我没有拉下分支名称。我如何获得另一个分支? 我也不需要 BillsFeature 的历史记录。我应该说我尝试过: git fetch --depth 1 origin BillsFeature 似乎发生了一些事情。但是,当我执行 git status 时,我得到:
在分支开发上您的分支是最新的“起源/开发”。
没有什么可提交的,工作树干净
谢谢,戴夫
如果我克隆引导程序: git clone https://github.com/twbs/bootstrap
然后做一个 git 责备: git blame js/src/alert.js
看起来每一行最后都被同一个人触动过:
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100 1) import Util from './util'
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100 2)
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100 3)
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100 4) /**
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100 5) * --------------------------------------------------------------------------
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100 6) * Bootstrap (v4.0.0-alpha.6): alert.js
^7ffb61a (Patrick H. Lauke 2017-04-17 00:04:49 +0100 7) * Licensed …Run Code Online (Sandbox Code Playgroud) 我正在尝试checkout从我的upstream远程仓库获取的分支,但它似乎不起作用.
$ git fetch upstream
Fetching upstream
From github.com:group/repo
* [new branch] feature-branch -> upstream/feature-branch
$ git checkout feature-branch
error: pathspec 'feature-branch' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?