相关疑难解决方法(0)

git clone --mirror和git clone --bare之间的区别是什么

git clone帮助页面有这样的说法--mirror:

设置远程存储库的镜像.这意味着--bare.

但是没有详细说明--mirror克隆与克隆的不同之处--bare.

git git-clone

447
推荐指数
8
解决办法
27万
查看次数

是否可以将git存储推送到远程存储库?

在git中,是否可以创建存储,将存储推送到远程存储库,在另一台计算机上检索存储,并应用存储?

或者是我的选择:

  • 创建补丁并将补丁复制到另一台计算机,或
  • 创建一个次要分支并将不完整的工作提交给该分支?

git git-stash

190
推荐指数
8
解决办法
7万
查看次数

通过快速网络连接克隆git存储库的最快方法是什么?

我有一个相对较大的git存储库的情况,位于我的本地网络上的老人,慢主机上,这需要很长时间才能进行初始克隆.

ravn@bamboo:~/git$ git clone gitosis@gitbox:git00
Initialized empty Git repository in /home/ravn/git/git00/.git/
remote: Counting objects: 89973, done.
remote: Compressing objects: 100% (26745/26745), done.
remote: Total 89973 (delta 50970), reused 85013 (delta 47798)
Receiving objects: 100% (89973/89973), 349.86 MiB | 2.25 MiB/s, done.
Resolving deltas: 100% (50970/50970), done.
Checking out files: 100% (11722/11722), done.
ravn@bamboo:~/git$
Run Code Online (Sandbox Code Playgroud)

gitosis中没有git特定的配置变化.

有没有办法加快接收位到网络的能力?


编辑:我需要新的存储库与上游存储库正确连接.根据我的理解,这需要git来进行克隆,因此git之外的原始位复制将不起作用.

git performance vmware git-clone

23
推荐指数
4
解决办法
3万
查看次数

push vs. bundle vs. tar zcvf - 备份整个本地.git

我可以通过两个步骤将其推送到存储库来备份我的本地.git:

git push --all ~/gitrepo
git push --tags ~/gitrepo
Run Code Online (Sandbox Code Playgroud)

我可以使用git bundle备份它.

我可以通过简单地复制整个目录或将其归档(压缩!)来备份它:

tar -zcvf gitrepo.tgz .git
Run Code Online (Sandbox Code Playgroud)

并且可能有其他方法来备份整个本地.git.

现在的问题是它们是否真的相同?(例如,logs不推送子目录)

git push方法的优点是什么git bundle

可以tar -zcvf被认为是"完美的git备份"吗?

git

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

git裸存储库中的"fetch --all"不会将本地分支与远程分支同步

我正在尝试定期同步git裸存储库,我的本地分支使用"--track"选项创建.这是我的配置(没有不必要的东西):

[core]
        bare = true
[remote "origin"]
        url = git@github.com:Ummon/D-LAN.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[branch "website"]
        remote = origin
        merge = refs/heads/website
Run Code Online (Sandbox Code Playgroud)

我必须使用'cp'命令来更新本地分支:

 git fetch --all
 cp -r refs/remotes/origin/* refs/heads
Run Code Online (Sandbox Code Playgroud)

有更优雅的解决方案吗?

git git-fetch git-bare

10
推荐指数
1
解决办法
9136
查看次数

Git不会克隆后续克隆上的所有分支?

我使用克隆的存储库和分支在Git上遇到了一些问题,但我不可能找到答案.让我来描述一下:我们在这里有一个简单的主Git存储库,我们都可以从这里下载并推送到位于本地linux机器上并可通过ssh访问.我把这个克隆到我的usb拇指驱动器上,如下所示:

git clone ssh://adahl@gollum//net/repos/netcube/patches.git
Run Code Online (Sandbox Code Playgroud)

这给了我一个本地克隆,在我的拇指驱动器上有一个工作副本.我cd到这个,然后在这个克隆中看到一些分支:

cd patches
git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/stable
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都那么好,但是如果我在我的拇指驱动器上克隆存储库另一次到我的笔记本,稳定分支就会丢失.看到:

cd ..
git clone patches patches2

cd patches2

git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

我在克隆或克隆git fetch后尝试了几个选项,没有任何东西将stable分支带到patches2存储库.我假设我在这里缺乏理解git并且只是以错误的方式使用它.有人可以指点我的使用和/或理解错误吗?

git branch clone

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

如何保持git镜像同步(包括删除分支)?

我用克隆了一个git repo git clone --mirror,我想让镜子保持最新状态.到目前为止,我一直在使用git fetch --all,但我注意到在原始仓库中删除的分支不会在镜像仓库中删除.我看过如何更新git clone --mirror但我尝试使用git remote update似乎不起作用 - 在原始仓库中删除的分支仍然在镜像仓库中可见.

git synchronization mirror

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

Git 本地镜像和存储库

这是我想做的:

  • 拥有一个本地 git 存储库来镜像上游的存储库
  • 能够将“本地”分支/更改推送到该存储库并将其保留在本地
  • 保持此存储库与上游存储库同步,包括:
    • 获取任何新分支
    • 删除上游删除的分支的任何引用

我设置了 cron 作业来从上游获取所有更改并修剪已删除的任何分支,如下所示:

*/5 * * * * cd /home/git/myrepo.git && git fetch origin && git remote prune origin > /dev/null
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经尝试过(以及为什么失败):

1-将 git 存储库设置为镜像(如此处所述

git clone --bare --mirror URL
Run Code Online (Sandbox Code Playgroud)

问题是,当它执行 时git remote prune,它还会删除对已推送到那里(而不是上游服务器)的“本地”更改的引用。

我还尝试让这个本地存储库成为两个独立存储库的镜像(具有相同的主存储库,但有一些不同的分支),并且在执行时遇到类似的问题git remote prune,它将删除来自其他存储库的分支。

2-仅将 git 设置为裸存储库:

git clone --bare URL
Run Code Online (Sandbox Code Playgroud)

但然后git fetch origin没有正确更新,它似乎正在下载对象,但不创建引用,然后只打印

 * branch            HEAD       -> FETCH_HEAD
Run Code Online (Sandbox Code Playgroud)

并且当前分支的“位置”不会随上游服务器中的内容进行更新。

我也git remote update按照这里的描述进行了尝试,得到了相同的结果。

我可以使用以下命令将该存储库转换为镜像

git …
Run Code Online (Sandbox Code Playgroud)

git mirror

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