我正在编写一个部署脚本,这就是它的作用:
# 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
命令是否会检出远程分支或本地分支? - > 我是否需要提取以获取最新版本的代码?
答案 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.0
,origin/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]'来检查,创建并切换到你的新分支。