从特定分支创建 git pull/checkout 的脚本
Create a script to git pull/checkout from specific branch
我正在尝试编写一个脚本来从 git 轻松部署我们的 Web 应用程序。我们现在有两个服务器("production" 和 "development")。
我创建了一个新的 develop
分支,在服务器上第一次克隆后 git branch -a
的情况是这样的:
* master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
我正在尝试编写一个简单的脚本,它将从生产服务器上的 master 和开发服务器上的 develop 中提取。
在我克隆之后
git pull origin develop
git checkout develop
现在的情况是这样的:
* develop
master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
文件与开发分支匹配。到目前为止一切顺利。
我试过对大师做同样的事情:
git pull origin master
git checkout master
我收到了这条消息:
Your branch is ahead of 'origin/master' by 5 commits.
(use "git push" to publish your local commits)
而且文件似乎与 develop 相同。
我想我对 git 和 local/remote 分支的了解还不够,我遗漏了一些东西。
换个方向试试:
git checkout <branch>
git pull origin <branch>
调用git pull origin master
将执行以下两个操作:
- 获取远程分支的更改
master
(你可以通过 运行 git fetch origin master
实现同样的事情)
- 将您的 活动分支 与
origin/master
合并
(你可以通过 运行 git merge origin/master
实现同样的事情)
因此,如果您的活动分支是 develop
,运行 git pull origin master
将移动您的本地 develop
分支。
然后,运行 git checkout master
将检查您的本地 master
分支而不更新它。
我正在尝试编写一个脚本来从 git 轻松部署我们的 Web 应用程序。我们现在有两个服务器("production" 和 "development")。
我创建了一个新的 develop
分支,在服务器上第一次克隆后 git branch -a
的情况是这样的:
* master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
我正在尝试编写一个简单的脚本,它将从生产服务器上的 master 和开发服务器上的 develop 中提取。
在我克隆之后
git pull origin develop
git checkout develop
现在的情况是这样的:
* develop
master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
文件与开发分支匹配。到目前为止一切顺利。
我试过对大师做同样的事情:
git pull origin master
git checkout master
我收到了这条消息:
Your branch is ahead of 'origin/master' by 5 commits.
(use "git push" to publish your local commits)
而且文件似乎与 develop 相同。
我想我对 git 和 local/remote 分支的了解还不够,我遗漏了一些东西。
换个方向试试:
git checkout <branch>
git pull origin <branch>
调用git pull origin master
将执行以下两个操作:
- 获取远程分支的更改
master
(你可以通过 运行git fetch origin master
实现同样的事情) - 将您的 活动分支 与
origin/master
合并 (你可以通过 运行git merge origin/master
实现同样的事情)
因此,如果您的活动分支是 develop
,运行 git pull origin master
将移动您的本地 develop
分支。
然后,运行 git checkout master
将检查您的本地 master
分支而不更新它。