我有几个关于最新功能GitHub嵌套在VS2013中的问题(我没有安装任何其他第三方Git工具)。
如果我将GitHub网站中的项目作为服务器端分叉,我将项目克隆到本地光盘并进行编辑,删除,添加文件......,然后:
1)如果我“提交”所有更改,这些更改是否会影响我在服务器端的分叉项目?
2)如果我在提交后“推送”所有更改,这些更改是否会影响我在服务器端的分叉项目?
3)如果我在提交后“推送”所有更改,这还会向我分叉的原始项目发送拉取请求,以便原作者知道我发送了一些更改,也许他/她可以做合并?
4)如果我点击“拉”,如果原版有一些变化(与我的不同),我的fork项目是否会与原版的最新版本同步?
5)如果我点击“获取”,会发生什么? VS2013中“Fetch”和“Pull”之间最大的区别是什么?
答案 0 :(得分:0)
1)如果我“提交”所有更改,这些更改是否会影响我在服务器端的分叉项目?
不,当你在本地提交时,这会影响本地分支,而不会影响远程分支。
2)如果我在提交后“推送”所有更改,这些更改是否会影响我在服务器端的分叉项目?
是的,推送您的分支是您“同步”本地和远程版本的方式。
3)如果我在提交后“推送”所有更改,这还会向我分叉的原始项目发送拉取请求,以便原作者知道我发送了一些更改,也许他/她可以做合并?
是的,我的回忆是GitHub会这样做。
4)如果我点击“拉”,如果原版有一些变化(与我的不同),我的fork项目是否会与原版的最新版本同步?
会发生什么取决于您的拉策略。您可以触发合并或rebase。这取决于您的设置。在任何一种情况下,是的,你将与远程分支“同步”。
5)如果我点击“获取”,会发生什么? VS2013中“Fetch”和“Pull”之间最大的区别是什么?
执行提取会告诉Git将更改从远程引入本地Git系统,但它不将更改合并或重新绑定到任何分支。这是一个简单的等式让你记住:
git pull = git fetch + git merge/rebase