1、git init创建仓库
git init 创建.git目录结构 ,git init创建仓库后自动创建master主分支
HEAD文件指向refs/heads/master,这时还没有提交,refs/heads下没有分支记录文件
第一次提交后,生成refs/heads/master文件,git branch命令可以看到master分支
2、git clone 克隆远程仓库
git clone拉取远程仓库,创建远程分支的远程跟踪分支,并检出远端当前分支(远端HEAD指向的分支)作为初始分支(本地库HEAD指向)。
git clone 仓库地址 目标dir
–bare
clone命令默认在当前目录下创建新的项目目录,并复制.git目录结构和项目文件;使用–bare选项只复制.git并命名为<当前目录/指定目录.git>;不会跟踪远程分支
–origin
clone命令默认把远程仓库作为origin,在本地refs/remotes/origin 下保存拉取的远程分支记录;使用该命令可以改变对应的仓库名
–branch
clone命令默认把clone后的仓库HEAD指向远端的HEAD指向的分支,并检出该分支到本地,–branch指定本地HEAD指向的分支,并检出对应分支
跟踪分支
跟踪分支是指在本地分支与远程分支间建立跟踪关系,使用默认的pull 或push命令可以自动与远程对应分支同步。
使用git fetch 仓库名可以拉取对应的远程仓库分支,可以在refs/remotes/仓库名下查看,远程跟踪分支
git checkout -b 本地分支 仓库名/分支名
git checkout –track 仓库名/分支名
可以创建新分支并关联到远程分支
跟踪关系在config里配置
使用git branch命令也可以指定跟踪关系