clone和git init git pull 的一点问题"/>
git clone和git init git pull 的一点问题
git操作的一点问题,记录一下,
本地仓库创建的时候,git init ---> git clone,查看文件夹,发现git init的文件下有个.git文件,也就是这是一个仓库,然后git clone拉下来的代码文件内部也有一个.git文件,也就是这个代码文件也是一个仓库,换句话说仓库底下嵌套了一个子仓库。
使用git add . 的时候报了一个warning:
warning: adding embedded git repository: azure_zjjg_code
you're added another git repository inside your current repository(这个时候是在外面的仓库)
这个时候我意识到了问题:这是两个嵌套的仓库
所以之前的操作才会出问题,我在外部的仓库对里面的仓库进行操作当然不对,删除之前的仓库,重新拉取代码。
这时候标题上的问题有答案了吧,git clone实际上是包括了git init这个命令的,所以git clone 之前没有必要使用git init,如果使用了
反而会出现仓库嵌套的问题,有可能因为疏忽出现意想不到的问题。
git pull
git pull是拉取远程分支更新到本地仓库的操作。比如远程仓库里的文件内容有变化,需要把新内容下载下来的时候,就可以使用git pull命令。事实上,git pull是相当于从远程仓库获取最新版本,然后再与本地分支merge(合并)。
即:git pull = git fetch + git merge
以下是git pull的用法说明:
栗子1:
假设项目有以下分支,master、dev1、dev2、dev3、dev4,当前团队处于dev2分支,可能其他团队所属分支dev1或dev2修改了代码,并合并到master分支,当前团队需要从master分支获取最新的代码,合并到本地。$ git pull origin master 执行此操作后,master分支的代码将会合并到本地当前分支,即dev2分支栗子2
$ git pull origin master:dev4执行此操作后,master分支的代码将会与指定的分支dev4合并栗子3
$ git fetch origin master:dev4$ git merge dev 先执行git fetch 再执行git merge。这种方式更安全也更符合实际要求,因为可以在merge前,我们可以查看更新情况,根据实际情况再决定是否合并
git pull的使用详解:git pull的用法-CSDN博客
更多推荐
git clone和git init git pull 的一点问题
发布评论