内容纲要
git是分布式的
- git的各个仓库之间是等价的
我们可以从A仓库克隆B仓库的代码,也可以从B仓库克隆A仓库的代码。 - 使用git时,我们需要有个起始仓库
有了这个起始仓库,我们就可以克隆这个起始仓库的代码 - git的远程仓库与本地仓库是等价的
远程仓库只是存放在远程而已,只是因为位置在云端,大家都能访问,才承担了我们代码的中心。 - 本机的仓库也是可以克隆的
我们可以通过 git clone ~/mycode, 来克隆本地仓库到新的本地位置
本地仓库之间的克隆
为了让大家对git的分布式理解更清晰,这里演示本地仓库之间的克隆
VirtualBox:~/git_test$ mkdir rep_1
VirtualBox:~/git_test$ mkdir rep_2
VirtualBox:~/git_test$
VirtualBox:~/git_test$
VirtualBox:~/git_test$ cd rep_1/
VirtualBox:~/git_test/rep_1$ git init
Initialized empty Git repository in ~/git_test/rep_1/.git/
VirtualBox:~/git_test/rep_1$ echo "file in rep_1" > ./file_1
VirtualBox:~/git_test/rep_1$ git add ./file_1
VirtualBox:~/git_test/rep_1$ git commit -m "first file in rep_1"
[master (root-commit) dffedcd] first file in rep_1
1 file changed, 1 insertion(+)
create mode 100644 file_1
VirtualBox:~/git_test/rep_1$ cd ../rep_2/
VirtualBox:~/git_test/rep_2$ git clone ../rep_1 ./
Cloning into '.'...
done.
VirtualBox:~/git_test/rep_2$ ls
file_1
VirtualBox:~/git_test/rep_2$ git log
commit dffedcdd49d72002992dd86b15cbcf6672eb0f37 (HEAD -> master, origin/master, origin/HEAD)
Author: hailei.yang <hailei.yang@163.com.cn>
Date: Wed Mar 17 16:56:15 2021 +0800
first file in rep_1
VirtualBox:~/git_test/rep_2$