共享仓库:刚开始用户A1人做项目开发,突然又加入了一个用户B,B如何把A的代码移动到自己的电脑中?(1.用U盘Copy;2.从它电脑里直接克隆;)
Git支持我们从另外一个路径,克隆一份工程到我们的指定位置,
- 回到user1的上一级目录,在空白处右击,选择 Git Bash Here
我们想把工程user1克隆一份,先在一台电脑中模拟多个用户,后续会使用github和gitlab
输入命令,然后回车,会发现,在uer1文件夹下面多了个user2的文件夹
,发现user1和user2的文件是一样的,区别是 user2 中没有 css 文件夹,原因是user1的 css 文件夹起初并没有添加到Git 里面,也就是clone并不是copy所有文件,而是从你的项目(user1)中拿出最后一个版本,然后复制一份,只copy被添加到Git中的文件和记录。
进入到user2的路径,通过Git Bash Here打开git窗口,查看一下user2的 git log
可以看到,最后一步操作是 合并hotBranch
现在使用的是本地克隆,后续换成远程的github仓库地址,就可以把他克隆到本地。
上一节介绍了如何克隆一个仓库,本节介绍共享仓库的创建。
我们实际开发过程中,都会有一个中央仓库,中央仓库是大家共享的一个仓库,我们所有的代码都可以往共享仓库中推送。当我们有三个仓库的时候(如下图所示),我们会留一个作为共享仓库(比如仓库C),这样就不用再两个用户之间copy代码,而是通过中央仓库(中介)来copy代码,这样就避免了 B进来没来上班,而 A无法从Bcopy代码的情况。
有了共享仓库C,A和B就可以把写的代码推送到共享仓库C中,A和B每天上班的时候,就先从共享仓库中拉取最新的代码,再看一下同事的代码做了哪些修改,就可以知道最新的项目进度做到那里,就不用在A和B去互相copy了。
共享仓库就是一个中间媒介,A和B把代码都上传到这个里面,共享仓库在Git里面创建的时候,
共享仓库的特点:
bare是赤裸的意思,我们称bare仓库为裸仓库,只能看到 git 相关的东西,看不到工作区,
输入命令,然后回车,就有了下图红框中.git的文件夹,点击进去
看到gitCenter.git下的文件夹没有隐藏,就是给使用的,代码可以上传到共享仓库,也可以从共享仓库clone代码
把是工作区的工程当作共享仓库,先删掉上一步建的gitCenter.git仓库,然后把已有的包含工作区的仓库,当作共享仓库
假设把user1中内容放到共享仓库里面,
git clone --bare ./user1 共享仓库名称 #如果不写共享仓库名称,则会自动生成user1.git作为名称
然后删除user1.git
双击进入gitCenter.git,看不到工作区,然而当你直接从它里面clone的时候,是可以看到工作区的,
此时,从中央仓库里面clone一个工程出来,
然后从中央仓库里面clone,新生成 user3,user3中的内容和user1是一样的,因为中央仓库gitCenter.git是从user1创建的共享仓库,它把user1的工作区也放到了共享仓库中,
虽然你双击进入gitCenter.git看不到工作区,但是工作区是存在的,在你从共享仓库clone到别的地方之后,就会显示出来。
在本地仓库当中添加文件,添加到本地仓库中
先提交到本地仓库(commit),再推送到远程仓库
推送命令——git push 远程仓库地址,分支名称
示例
git push ../gitCenter.git/ master(分支名称) # 分支名称前有空格
此时,代码已经上传到了中央仓库的master分支中,
然后去共享仓库中查看日志记录
在共享仓库 gitCenter.git 的日志中看到了 user1 的最新内容,说明已经将user1的代码添加到了共享仓库中。