Git基础篇(十七)——fetch和pull指令

前言:
  fetch和pull指令都可将远程主机的内容拉取到本地,但在细节用法上他们是有区别的。

1 git pull

   git pull 指令用于将远程主机的更新拉取到本地并且与本地分支合并。基本的命令格式为如下。

1
git pull <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

1.1 git pull某一分支

Git基础篇(十七)——fetch和pull指令

前言:
  fetch和pull指令都可将远程主机的内容拉取到本地,但在细节用法上他们是有区别的。

1 git pull

   git pull 指令用于将远程主机的更新拉取到本地并且与本地分支合并。基本的命令格式为如下。

1
git pull <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

1.1 git pull某一分支

git_pull_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git pull 指令可将远程分支的新提交记录拉取到本地并与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git pull origin main:main

  使用该指令后将远程的main分支C2提交记录拉取下来到本地并且将其与本地main分支合并,最终本地main分支与远程main分支记录一致。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git pull origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_pull_C2_.png

1.2 git pull全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_pull_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git pull origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git pull --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地并且与本地分支进行合并。

git_pull_all_.png

  将远程仓库的新分支和新记录都拉取到本地,并且与本地分支进行合并,合并后分支指针指向最新节点,HEAD指针也移动到最新节点。

2 git fetch

  fetch指令也是将远程仓库的最新提交记录拉取到本地,但与pull不同之处在于其拉取到本地后新记录不会与本地的分支合并。
  使用以下指令将远程仓库的新提交记录拉取到本地,但并不与本地分支合并,让用户自己决定是否合并。

1
git fetch <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

2.1 git fetch某一分支

git_fetch_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git fetch 指令可将远程分支的新提交记录拉取到本地并但并不与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git fetch origin main:main

  拉取到本地后可使用 git log --oneline --graph 指令查看main分支的提交记录,发现并未发生改变,而使用 git log --all --oneline --graph 只能则能看到拉取了新的提交记录,并且HEAD指针和main指针没有改变指向,说明 fetch 指令与 pull 指令不同在于,pull不仅拉取新纪录且自动完成与本地分支合并,fetch则拉取新纪录但并不与本地分支合并。pull虽然便捷,但使用容易出错,所有合并动作都建议自己核查,因此在实际使用中不建议使用pull,可以使用 fetch + merge 指令代替,保证人工进行合并动作。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git fetch origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_fetch_C2_.png

2.2 git fetch全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_fetch_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git fetch origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git fetch --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地但并不与本地分支进行合并。

git_fetch_all_.png

  将远程仓库的新分支和新记录都拉取到本地,但并不与本地分支进行合并。

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git pull 指令可将远程分支的新提交记录拉取到本地并与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git pull origin main:main

  使用该指令后将远程的main分支C2提交记录拉取下来到本地并且将其与本地main分支合并,最终本地main分支与远程main分支记录一致。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git pull origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

Git基础篇(十七)——fetch和pull指令

前言:
  fetch和pull指令都可将远程主机的内容拉取到本地,但在细节用法上他们是有区别的。

1 git pull

   git pull 指令用于将远程主机的更新拉取到本地并且与本地分支合并。基本的命令格式为如下。

1
git pull <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

1.1 git pull某一分支

git_pull_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git pull 指令可将远程分支的新提交记录拉取到本地并与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git pull origin main:main

  使用该指令后将远程的main分支C2提交记录拉取下来到本地并且将其与本地main分支合并,最终本地main分支与远程main分支记录一致。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git pull origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_pull_C2_.png

1.2 git pull全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_pull_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git pull origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git pull --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地并且与本地分支进行合并。

git_pull_all_.png

  将远程仓库的新分支和新记录都拉取到本地,并且与本地分支进行合并,合并后分支指针指向最新节点,HEAD指针也移动到最新节点。

2 git fetch

  fetch指令也是将远程仓库的最新提交记录拉取到本地,但与pull不同之处在于其拉取到本地后新记录不会与本地的分支合并。
  使用以下指令将远程仓库的新提交记录拉取到本地,但并不与本地分支合并,让用户自己决定是否合并。

1
git fetch <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

2.1 git fetch某一分支

git_fetch_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git fetch 指令可将远程分支的新提交记录拉取到本地并但并不与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git fetch origin main:main

  拉取到本地后可使用 git log --oneline --graph 指令查看main分支的提交记录,发现并未发生改变,而使用 git log --all --oneline --graph 只能则能看到拉取了新的提交记录,并且HEAD指针和main指针没有改变指向,说明 fetch 指令与 pull 指令不同在于,pull不仅拉取新纪录且自动完成与本地分支合并,fetch则拉取新纪录但并不与本地分支合并。pull虽然便捷,但使用容易出错,所有合并动作都建议自己核查,因此在实际使用中不建议使用pull,可以使用 fetch + merge 指令代替,保证人工进行合并动作。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git fetch origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_fetch_C2_.png

2.2 git fetch全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_fetch_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git fetch origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git fetch --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地但并不与本地分支进行合并。

git_fetch_all_.png

  将远程仓库的新分支和新记录都拉取到本地,但并不与本地分支进行合并。

1.2 git pull全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

Git基础篇(十七)——fetch和pull指令

前言:
  fetch和pull指令都可将远程主机的内容拉取到本地,但在细节用法上他们是有区别的。

1 git pull

   git pull 指令用于将远程主机的更新拉取到本地并且与本地分支合并。基本的命令格式为如下。

1
git pull <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

1.1 git pull某一分支

git_pull_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git pull 指令可将远程分支的新提交记录拉取到本地并与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git pull origin main:main

  使用该指令后将远程的main分支C2提交记录拉取下来到本地并且将其与本地main分支合并,最终本地main分支与远程main分支记录一致。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git pull origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_pull_C2_.png

1.2 git pull全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_pull_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git pull origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git pull --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地并且与本地分支进行合并。

git_pull_all_.png

  将远程仓库的新分支和新记录都拉取到本地,并且与本地分支进行合并,合并后分支指针指向最新节点,HEAD指针也移动到最新节点。

2 git fetch

  fetch指令也是将远程仓库的最新提交记录拉取到本地,但与pull不同之处在于其拉取到本地后新记录不会与本地的分支合并。
  使用以下指令将远程仓库的新提交记录拉取到本地,但并不与本地分支合并,让用户自己决定是否合并。

1
git fetch <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

2.1 git fetch某一分支

git_fetch_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git fetch 指令可将远程分支的新提交记录拉取到本地并但并不与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git fetch origin main:main

  拉取到本地后可使用 git log --oneline --graph 指令查看main分支的提交记录,发现并未发生改变,而使用 git log --all --oneline --graph 只能则能看到拉取了新的提交记录,并且HEAD指针和main指针没有改变指向,说明 fetch 指令与 pull 指令不同在于,pull不仅拉取新纪录且自动完成与本地分支合并,fetch则拉取新纪录但并不与本地分支合并。pull虽然便捷,但使用容易出错,所有合并动作都建议自己核查,因此在实际使用中不建议使用pull,可以使用 fetch + merge 指令代替,保证人工进行合并动作。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git fetch origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_fetch_C2_.png

2.2 git fetch全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_fetch_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git fetch origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git fetch --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地但并不与本地分支进行合并。

git_fetch_all_.png

  将远程仓库的新分支和新记录都拉取到本地,但并不与本地分支进行合并。

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git pull origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git pull --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地并且与本地分支进行合并。

Git基础篇(十七)——fetch和pull指令

前言:
  fetch和pull指令都可将远程主机的内容拉取到本地,但在细节用法上他们是有区别的。

1 git pull

   git pull 指令用于将远程主机的更新拉取到本地并且与本地分支合并。基本的命令格式为如下。

1
git pull <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

1.1 git pull某一分支

git_pull_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git pull 指令可将远程分支的新提交记录拉取到本地并与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git pull origin main:main

  使用该指令后将远程的main分支C2提交记录拉取下来到本地并且将其与本地main分支合并,最终本地main分支与远程main分支记录一致。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git pull origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_pull_C2_.png

1.2 git pull全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_pull_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git pull origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git pull --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地并且与本地分支进行合并。

git_pull_all_.png

  将远程仓库的新分支和新记录都拉取到本地,并且与本地分支进行合并,合并后分支指针指向最新节点,HEAD指针也移动到最新节点。

2 git fetch

  fetch指令也是将远程仓库的最新提交记录拉取到本地,但与pull不同之处在于其拉取到本地后新记录不会与本地的分支合并。
  使用以下指令将远程仓库的新提交记录拉取到本地,但并不与本地分支合并,让用户自己决定是否合并。

1
git fetch <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

2.1 git fetch某一分支

git_fetch_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git fetch 指令可将远程分支的新提交记录拉取到本地并但并不与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git fetch origin main:main

  拉取到本地后可使用 git log --oneline --graph 指令查看main分支的提交记录,发现并未发生改变,而使用 git log --all --oneline --graph 只能则能看到拉取了新的提交记录,并且HEAD指针和main指针没有改变指向,说明 fetch 指令与 pull 指令不同在于,pull不仅拉取新纪录且自动完成与本地分支合并,fetch则拉取新纪录但并不与本地分支合并。pull虽然便捷,但使用容易出错,所有合并动作都建议自己核查,因此在实际使用中不建议使用pull,可以使用 fetch + merge 指令代替,保证人工进行合并动作。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git fetch origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_fetch_C2_.png

2.2 git fetch全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_fetch_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git fetch origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git fetch --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地但并不与本地分支进行合并。

git_fetch_all_.png

  将远程仓库的新分支和新记录都拉取到本地,但并不与本地分支进行合并。

  将远程仓库的新分支和新记录都拉取到本地,并且与本地分支进行合并,合并后分支指针指向最新节点,HEAD指针也移动到最新节点。

2 git fetch

  fetch指令也是将远程仓库的最新提交记录拉取到本地,但与pull不同之处在于其拉取到本地后新记录不会与本地的分支合并。
  使用以下指令将远程仓库的新提交记录拉取到本地,但并不与本地分支合并,让用户自己决定是否合并。

1
git fetch <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

2.1 git fetch某一分支

Git基础篇(十七)——fetch和pull指令

前言:
  fetch和pull指令都可将远程主机的内容拉取到本地,但在细节用法上他们是有区别的。

1 git pull

   git pull 指令用于将远程主机的更新拉取到本地并且与本地分支合并。基本的命令格式为如下。

1
git pull <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

1.1 git pull某一分支

git_pull_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git pull 指令可将远程分支的新提交记录拉取到本地并与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git pull origin main:main

  使用该指令后将远程的main分支C2提交记录拉取下来到本地并且将其与本地main分支合并,最终本地main分支与远程main分支记录一致。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git pull origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_pull_C2_.png

1.2 git pull全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_pull_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git pull origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git pull --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地并且与本地分支进行合并。

git_pull_all_.png

  将远程仓库的新分支和新记录都拉取到本地,并且与本地分支进行合并,合并后分支指针指向最新节点,HEAD指针也移动到最新节点。

2 git fetch

  fetch指令也是将远程仓库的最新提交记录拉取到本地,但与pull不同之处在于其拉取到本地后新记录不会与本地的分支合并。
  使用以下指令将远程仓库的新提交记录拉取到本地,但并不与本地分支合并,让用户自己决定是否合并。

1
git fetch <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

2.1 git fetch某一分支

git_fetch_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git fetch 指令可将远程分支的新提交记录拉取到本地并但并不与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git fetch origin main:main

  拉取到本地后可使用 git log --oneline --graph 指令查看main分支的提交记录,发现并未发生改变,而使用 git log --all --oneline --graph 只能则能看到拉取了新的提交记录,并且HEAD指针和main指针没有改变指向,说明 fetch 指令与 pull 指令不同在于,pull不仅拉取新纪录且自动完成与本地分支合并,fetch则拉取新纪录但并不与本地分支合并。pull虽然便捷,但使用容易出错,所有合并动作都建议自己核查,因此在实际使用中不建议使用pull,可以使用 fetch + merge 指令代替,保证人工进行合并动作。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git fetch origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_fetch_C2_.png

2.2 git fetch全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_fetch_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git fetch origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git fetch --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地但并不与本地分支进行合并。

git_fetch_all_.png

  将远程仓库的新分支和新记录都拉取到本地,但并不与本地分支进行合并。

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git fetch 指令可将远程分支的新提交记录拉取到本地并但并不与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git fetch origin main:main

  拉取到本地后可使用 git log --oneline --graph 指令查看main分支的提交记录,发现并未发生改变,而使用 git log --all --oneline --graph 只能则能看到拉取了新的提交记录,并且HEAD指针和main指针没有改变指向,说明 fetch 指令与 pull 指令不同在于,pull不仅拉取新纪录且自动完成与本地分支合并,fetch则拉取新纪录但并不与本地分支合并。pull虽然便捷,但使用容易出错,所有合并动作都建议自己核查,因此在实际使用中不建议使用pull,可以使用 fetch + merge 指令代替,保证人工进行合并动作。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git fetch origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

Git基础篇(十七)——fetch和pull指令

前言:
  fetch和pull指令都可将远程主机的内容拉取到本地,但在细节用法上他们是有区别的。

1 git pull

   git pull 指令用于将远程主机的更新拉取到本地并且与本地分支合并。基本的命令格式为如下。

1
git pull <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

1.1 git pull某一分支

git_pull_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git pull 指令可将远程分支的新提交记录拉取到本地并与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git pull origin main:main

  使用该指令后将远程的main分支C2提交记录拉取下来到本地并且将其与本地main分支合并,最终本地main分支与远程main分支记录一致。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git pull origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_pull_C2_.png

1.2 git pull全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_pull_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git pull origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git pull --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地并且与本地分支进行合并。

git_pull_all_.png

  将远程仓库的新分支和新记录都拉取到本地,并且与本地分支进行合并,合并后分支指针指向最新节点,HEAD指针也移动到最新节点。

2 git fetch

  fetch指令也是将远程仓库的最新提交记录拉取到本地,但与pull不同之处在于其拉取到本地后新记录不会与本地的分支合并。
  使用以下指令将远程仓库的新提交记录拉取到本地,但并不与本地分支合并,让用户自己决定是否合并。

1
git fetch <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

2.1 git fetch某一分支

git_fetch_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git fetch 指令可将远程分支的新提交记录拉取到本地并但并不与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git fetch origin main:main

  拉取到本地后可使用 git log --oneline --graph 指令查看main分支的提交记录,发现并未发生改变,而使用 git log --all --oneline --graph 只能则能看到拉取了新的提交记录,并且HEAD指针和main指针没有改变指向,说明 fetch 指令与 pull 指令不同在于,pull不仅拉取新纪录且自动完成与本地分支合并,fetch则拉取新纪录但并不与本地分支合并。pull虽然便捷,但使用容易出错,所有合并动作都建议自己核查,因此在实际使用中不建议使用pull,可以使用 fetch + merge 指令代替,保证人工进行合并动作。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git fetch origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_fetch_C2_.png

2.2 git fetch全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_fetch_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git fetch origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git fetch --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地但并不与本地分支进行合并。

git_fetch_all_.png

  将远程仓库的新分支和新记录都拉取到本地,但并不与本地分支进行合并。

2.2 git fetch全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

Git基础篇(十七)——fetch和pull指令

前言:
  fetch和pull指令都可将远程主机的内容拉取到本地,但在细节用法上他们是有区别的。

1 git pull

   git pull 指令用于将远程主机的更新拉取到本地并且与本地分支合并。基本的命令格式为如下。

1
git pull <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

1.1 git pull某一分支

git_pull_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git pull 指令可将远程分支的新提交记录拉取到本地并与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git pull origin main:main

  使用该指令后将远程的main分支C2提交记录拉取下来到本地并且将其与本地main分支合并,最终本地main分支与远程main分支记录一致。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git pull origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_pull_C2_.png

1.2 git pull全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_pull_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git pull origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git pull --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地并且与本地分支进行合并。

git_pull_all_.png

  将远程仓库的新分支和新记录都拉取到本地,并且与本地分支进行合并,合并后分支指针指向最新节点,HEAD指针也移动到最新节点。

2 git fetch

  fetch指令也是将远程仓库的最新提交记录拉取到本地,但与pull不同之处在于其拉取到本地后新记录不会与本地的分支合并。
  使用以下指令将远程仓库的新提交记录拉取到本地,但并不与本地分支合并,让用户自己决定是否合并。

1
git fetch <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

2.1 git fetch某一分支

git_fetch_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git fetch 指令可将远程分支的新提交记录拉取到本地并但并不与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git fetch origin main:main

  拉取到本地后可使用 git log --oneline --graph 指令查看main分支的提交记录,发现并未发生改变,而使用 git log --all --oneline --graph 只能则能看到拉取了新的提交记录,并且HEAD指针和main指针没有改变指向,说明 fetch 指令与 pull 指令不同在于,pull不仅拉取新纪录且自动完成与本地分支合并,fetch则拉取新纪录但并不与本地分支合并。pull虽然便捷,但使用容易出错,所有合并动作都建议自己核查,因此在实际使用中不建议使用pull,可以使用 fetch + merge 指令代替,保证人工进行合并动作。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git fetch origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_fetch_C2_.png

2.2 git fetch全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_fetch_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git fetch origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git fetch --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地但并不与本地分支进行合并。

git_fetch_all_.png

  将远程仓库的新分支和新记录都拉取到本地,但并不与本地分支进行合并。

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git fetch origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git fetch --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地但并不与本地分支进行合并。

Git基础篇(十七)——fetch和pull指令

前言:
  fetch和pull指令都可将远程主机的内容拉取到本地,但在细节用法上他们是有区别的。

1 git pull

   git pull 指令用于将远程主机的更新拉取到本地并且与本地分支合并。基本的命令格式为如下。

1
git pull <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

1.1 git pull某一分支

git_pull_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git pull 指令可将远程分支的新提交记录拉取到本地并与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git pull origin main:main

  使用该指令后将远程的main分支C2提交记录拉取下来到本地并且将其与本地main分支合并,最终本地main分支与远程main分支记录一致。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git pull origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_pull_C2_.png

1.2 git pull全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_pull_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git pull origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git pull --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地并且与本地分支进行合并。

git_pull_all_.png

  将远程仓库的新分支和新记录都拉取到本地,并且与本地分支进行合并,合并后分支指针指向最新节点,HEAD指针也移动到最新节点。

2 git fetch

  fetch指令也是将远程仓库的最新提交记录拉取到本地,但与pull不同之处在于其拉取到本地后新记录不会与本地的分支合并。
  使用以下指令将远程仓库的新提交记录拉取到本地,但并不与本地分支合并,让用户自己决定是否合并。

1
git fetch <RemoteHostName> <RemoteBranchName>:<LocalBranchName>

  注意 : 符号前后不要加空格,否则指令会报错误。

2.1 git fetch某一分支

git_fetch_C2.png

  如上图,当远程某分支比如main分支有两次提交记录,即C1和C2,而本地分仓库main分支当前只有C1提交记录时,此时使用 git fetch 指令可将远程分支的新提交记录拉取到本地并但并不与本地分支直接合并。
  以下指令可将远程的main分支最新提交记录拉取到本地。

1
git fetch origin main:main

  拉取到本地后可使用 git log --oneline --graph 指令查看main分支的提交记录,发现并未发生改变,而使用 git log --all --oneline --graph 只能则能看到拉取了新的提交记录,并且HEAD指针和main指针没有改变指向,说明 fetch 指令与 pull 指令不同在于,pull不仅拉取新纪录且自动完成与本地分支合并,fetch则拉取新纪录但并不与本地分支合并。pull虽然便捷,但使用容易出错,所有合并动作都建议自己核查,因此在实际使用中不建议使用pull,可以使用 fetch + merge 指令代替,保证人工进行合并动作。
  要拉取的本地分支与远程分支同名时,指令可简写为以下形式。

1
git fetch origin main

  该指令将远程origin主机的origin/main分支拉取到本地,即C2记录,并与本地main分支合并,合并后本地main分支的指针指向了最新合并的提交记录C2.

git_fetch_C2_.png

2.2 git fetch全部分支

  假设本地仓库分支和远程仓库的分支结构如下。

git_fetch_all.png

  远程仓库的分支数和提交记录都比本地多,想要一次性将远程origin仓库的所有分支最新记录拉取到本地,可以只用以下指令。
  可使用以下指令将远程origin仓库的的所有分支都拉取下来。

1
git fetch origin

  也可适用 --all 指令将远程所有新记录拉取到本地。

1
git fetch --all

  执行该指令后会远程所有分支的所有提交记录拉取到本地但并不与本地分支进行合并。

git_fetch_all_.png

  将远程仓库的新分支和新记录都拉取到本地,但并不与本地分支进行合并。

  将远程仓库的新分支和新记录都拉取到本地,但并不与本地分支进行合并。