TortoiseGit:"Git Sync"、"Fetch" 和 "Pull" 之间有什么区别?
TortoiseGit: What's the difference between "Git Sync", "Fetch" and "Pull"?
我正在从 TortoiseSvn 转移到 TortoiseGit。但是遇到了一些意想不到的困难。
我的工作范式很简单:
- 查看代码
- 更改一些代码
- 与他人共享代码审查
- 提交更改
为什么要使用下面 3 个 syntactically
类似的命令?
Pull
和 Fetch
甚至共享相同的图标。多么人性化的设计!
这是三个不同的命令:
- Git
pull
是 git fetch
后跟 git merge
- read here
- Git
fetch
获取有关远程存储库的信息 - read here
- Git
sync
在一个命令中执行所有操作,意思是 pull
和 push
read here
如果您想比较 git
和 svn
的工作流程,那么 git pull
就像 svn update
。 git fetch
没有直接的 svn
版本。 Git sync
就像 svn up
&& svn commit
在一个命令中
您可以随时执行 git 提取以更新 refs/remotes// 下的远程跟踪分支。
git fetch
操作永远不会更改 refs/heads 下您自己的任何本地分支 ,并且无需更改您的工作副本即可安全地进行操作。我什至听说有人 运行 git 在后台的 cron 作业中定期获取数据(尽管我不建议这样做)。
git pull
是使本地分支与其远程 版本保持最新,同时更新其他远程跟踪分支的方法。
我正在从 TortoiseSvn 转移到 TortoiseGit。但是遇到了一些意想不到的困难。
我的工作范式很简单:
- 查看代码
- 更改一些代码
- 与他人共享代码审查
- 提交更改
为什么要使用下面 3 个 syntactically
类似的命令?
Pull
和 Fetch
甚至共享相同的图标。多么人性化的设计!
这是三个不同的命令:
- Git
pull
是 gitfetch
后跟 gitmerge
- read here - Git
fetch
获取有关远程存储库的信息 - read here - Git
sync
在一个命令中执行所有操作,意思是pull
和push
read here
如果您想比较 git
和 svn
的工作流程,那么 git pull
就像 svn update
。 git fetch
没有直接的 svn
版本。 Git sync
就像 svn up
&& svn commit
在一个命令中
您可以随时执行 git 提取以更新 refs/remotes// 下的远程跟踪分支。
git fetch
操作永远不会更改 refs/heads 下您自己的任何本地分支 ,并且无需更改您的工作副本即可安全地进行操作。我什至听说有人 运行 git 在后台的 cron 作业中定期获取数据(尽管我不建议这样做)。
git pull
是使本地分支与其远程 版本保持最新,同时更新其他远程跟踪分支的方法。