git checkout是否从原点拉出变化?

时间:2013-05-30 10:20:28

标签: git

我正在编写一个部署脚本,这就是它的作用:

# Fetches all branches and tags
git fetch origin
# Checkout the branch/tag
git checkout 2.1.0

如果2.1.0是标记

我想我有最新版本可用,因为标签无法更改,所以一切都很好。

如果2.1.0是分支

如果这是我第一次签出分支机构,我想一切都很好(我将获得最新版本的代码)。

如果分支已经签出,git checkout命令是否会检出远程分支或本地分支? - > 我是否需要提取以获取最新版本的代码?

2 个答案:

答案 0 :(得分:1)

没有。您需要git pull或至少git merge origin/2.1.0

确实,git fetch将最新的代码从远程下拉到本地的origin/branch。如果您没有同名的本地分支,那么git checkout 2.1.0将为您创建它,并结帐到该分支。 但是,如果您已经有,那么git checkout 2.1.0将正常结帐到本地分支。

实际上,分支2.1.0origin/2.1.0或标记2.1.0,它们都是指针,指向特定的提交。这里2.1.0指向分支2.1.0的本地最新提交,而origin/2.1.0指向远程最新提交。

答案 1 :(得分:0)

执行'git fetch'后 获取下载所有分支及其内容(对象),以便您可以继续脱机工作。

如果您已经拥有名为2.1.0的本地分支,则将切换到locat分支 如果你没有本地分支,那么你可以使用'git checkout -b [new_branch_name]'来检查,创建并切换到你的新分支。

相关问题