引言
今天来谈一下git clone相关的东西.
首先,我们知道,当我们在本地新建仓库的时候,需要执行
git init
这行代码的一个重要的作用就是,创建.git文件夹,进而创建git配置文件config.
但是当我们执行
git clone
的时候,在克隆得到的文件夹里也会有个.git文件夹,以及config文件.
这个仓库因为是别人的仓库,因此这个config文件里将会记载着这个仓库的不同分支等信息.那么执行git clone后都会进行哪些操作呢?
git clone
1创建了一个新目录,切换到新的目录,然后 git init
来初始化一个空的 Git 仓库;
2然后为你指定的 URL 添加一个(默认名称为 origin
的)远程仓库(git remote add
);
3再针对远程仓库执行 git fetch
4最后通过 git checkout
将远程仓库的最新提交检出到本地的工作目录。
具体操作
从上面的描述我们就可以看到,git clone完成了初始化仓库的作用,并且为我们与远端仓库建立了连接,并完成代码的拉取.
那么我们如果想实现clone别人的仓库到自己的本地,然后上传到自己的仓库的最简单的方式是怎么样的呢?
1在自己的云端账户上创建一个新的仓库;
2git clone别人的仓库到自己想要放置仓库的位置;
3打开这个仓库里.git中的config文件
我们会看到一个和下面代码类似的文件
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url =xxx
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
remote = origin
merge = refs/heads/main
这列xxx就是别人的仓库名.
这时我们打开我们刚建立的仓库,找到ssh地址的位置,然后复制到xxx的位置.注意这里只能用git@github.com...这种形式的,不能用http@github.com...
4然后就和正常的一样了,执行
git push -u origin main
然后就可以看到自己建的仓库已经有了内容.
同时,当我们切换分支的时候,config中也会紧跟着加上关于分支的信息.
May the force be with you!
评论(0)
您还未登录,请登录后发表或查看评论