当前位置:网站首页 > C++编程 > 正文

git clone在哪里(git clone bundle)



"不能把鸡蛋放在一个篮子里",Git版本库目录与工作区在一起,因此存在一损俱损的问题.

git clone 仓库 git clone bundle_git

2个版本库之间通过PULL和PUSH操作实现同步.

1.版本库A通过Clone操作创建版本库B

2.版本库A通过PUSH,将新的提交传递给版本B

3.版本库A通过PULL,将版本库B中的新提交拉回到自身(A).

4.版本库B通过PULL,将版本库A中的新提交拉回到自身(B).

5.版本库B通过PUSH,将新提交传递给版本库A.

git clone 命令实主要有如下三种用法:

  1. 用法1:git clone<repository> <directory>
  2. 用法2:git clone --bare <repository> <directory.git>
  3. 用法3:git clone --mirror <repository> <directory.git>

用法1将<repository>指向的版本库创建一个克隆到<directory>目录.目录<directory>相当于克隆版本库的工作区,文件都会检出,版本库位于工作区的.git目录中.

用法2与用法3创建的克隆版本库都不包含工作区,直接就是版本库的内容,这样的版本库称为裸版本库.一般约定俗成的裸版本库的目录名以.git为后缀,所以上面示例中将克隆出的版本库目录名写成<directory.git>

用法3区别于用法2在于用法3克隆出来的裸版库对上游版本库进行了注册,这样可以在裸版本库中使用git fetch命令和上游版本库进行持续同步.

一,对等工作区

不使用--bare或--mirror创建出来的克隆包含工作区,这样会产生两个包含工作区的版本库,这两个版本库是对等的.

git clone 仓库 git clone bundle_git_02

这两个工作区没有本质区别,但是往往是在一个版本(A)中进行的.而(B)作为备份.对于对等工作区模式,版本库的同步只有一种可行的操作模式,就是备份(B)执行git pull命令从源版本库(A)中拉回新的提交实现版本同步,而不能从版本库A向版本库B执行git push实现同步.这是因为默认更新非裸版本库的当前分支是不被允许,因为这样会导致暂存区与工作区与推送至版本的新提交不一致.

二,克隆生成裸版本库

裸版本库没有工作区,所以可以直接通过push实现同步.

git clone 仓库 git clone bundle_版本控制<a href='/tag/15'>工具</a>_03

使用--bare参数克隆,就可以直接推送了 使用--bare 参数将demo版本克隆到/path/to/repos/demo.git然后可以在demo版本向克隆版本执行推送操作了.

三,创建生成裸版本库

裸版本库不仅可以通过克隆方式创建,还可以通过git init方式命令以初始化的方式创建.

git clone 仓库 git clone bundle_git clone 仓库_04

git init用于初始化一个版本库,在目录path/to/repos/demo-init.git目录中创建一个空的裸版本库.

但是此时不能直接在A中执行git push 因为path/to/repos/demo-init.git版本刚刚初始化完成,没有任何提交,更不要说分支了.当执行git push时,如果没有指定推送的分支,而且当前的分支也没有注册到远程的某个分支,将检查远程分支是否有和本地相同的分支名,如果有则推送,否则推送失败,所以第一次执行推送要写的完整一些

到此这篇git clone在哪里(git clone bundle)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • cpu参数对比(CPU参数对比(笔记本))2025-11-30 21:18:11
  • ssh免密登录配置(ssh免密登录配置sshd_config)2025-11-30 21:18:11
  • tomcat乱码(tomcat乱码怎么改)2025-11-30 21:18:11
  • apc和aps经济学(ac和pc经济学)2025-11-30 21:18:11
  • pointnet++网络结构(inceptionv1网络结构)2025-11-30 21:18:11
  • conv1d和conv2d的区别cov3d(conv和deconv)2025-11-30 21:18:11
  • msvcp140为什么会丢失(msvcp100为什么会丢失)2025-11-30 21:18:11
  • cnn网站是什么意思(cnn是什么意思脏话)2025-11-30 21:18:11
  • 手机tcp工具(tcp工具 安卓)2025-11-30 21:18:11
  • gitclone到指定目录(git上传到指定目录)2025-11-30 21:18:11
  • 全屏图片