1. git init ---- 初始化本地仓库,生成.git目录,.git目录即本地仓库。此时不能创建本地分支,要想在空的本地仓库中创建本地分支,必须有第一次提交才可以。针对我们的使用情景,没必要为了创建本地分支而产生一次与项目无关的提交。下面的步骤会创建本地分支且没有多余提交。
2. git remote add origin(自己取的远程仓库名) URL(远程仓库地址) ---- 本地仓库与远程仓库地址关联。
3. git remote show origin(自己取的远程仓库名) ---- 如果上一步关联成功,可通过此命令查看远程仓库分支名,用作下一步使用。
-- git fetch origin(自己取的远程仓库名) xxx(远程仓库分支名) ---- 获取远程仓库的xxx分支到本地仓库,此时没有本地分支。
|
4. 二选一 |
|
-- git fetch origin(自己取的远程仓库名) ---- 获取远程仓库的所有分支到本地仓库。也可以使用 git pull origin(自己取的远程仓库名),git pull = git fetch + git merge。此时没有本地分支,merge无效果,所以建议使用fetch,注意:此时并未合并,且没有本地分支。
-- git checkout xxx(远程分支名) ---- 检出本地仓库中远程分支xxx的代码(因为刚fetch,所以此时远程仓库与本地仓库一致)。
| 此时git会创建本地分支,分支名与远程分支名一致,且自动关联到远程分支进行追踪。
|
|
5. 二选一 |
| -- 1. git checkout -b xxx(本地分支名,一般与远程分支名一致) ---- 切换本地分支。能看到DOS命令框中路径后面 (master) 变成 (xxx),表示切换本地分支成功。注意此时实际并没有本地分支,原因在 git init 时所述。此命令为了避免在没有本地分支,使用 merge 合并远程分支到当前分支时,远程分支名与本地分支名不一致,形成 origin/xxx:master(远程仓库/远程分支:本地分支) 的对应关系,不介意可以不执行。
| |
-- |
|
-- 2. git merge origin/xxx(origin远程仓库名/xxx远程分支名) ---- 将获取到本地仓库的远程分支合并到当前分支。此时git会检出本地仓库中远程分支xxx的代码,自动创建本地分支。但是不会自动关联到远程分支进行追踪,可通过命令 git branch --set-upstream-to=origin(远程仓库名)/xxx(远程分支名) xxx(本地分支名) 设置追踪远程分支。