首页 > 解决方案 > Git:如何不将分支推送到远程

问题描述

我有两个远程 git 服务器,一个用于我推送所有内容的开发,另一个应该仅用于里程碑

我想要做的是将所有内容提交并推送到开发服务器,并仅推送里程碑 git 上的“主”分支。

现在我在本地(dev\my_projectmile\myproject)有两个文件夹,一个在dev服务器上跟踪,另一个由milestone一个跟踪。当我拥有里程碑时,我将源复制粘贴到“里程碑”文件夹中,然后我提交并推送。

或多或少我的流程是这样的

rem go on the folder tracked on dev
cd %userdir%\dev\myproject
pushd
rem move on master branch
git checkout master
rem copy all my sources on the milestone tracked folder 
rmdir /s /q %userdir%\mile\myproject\*
copy %userdir%\dev\sources\* %userdir%\mile\myproject
cd %userdir%\mile\myproject
git add *
git commit -m "milestone commit 123"
git push

我不想处理两个本地副本,而是能够仅在里程碑 git 上推送主分支。

标签: gitgit-branch

解决方案


为此存在分支概念。您可以在分支 master 旁边有许多分支,并且只进行您定义为相关的合并更改。您的开发流程必须是这样的:

  • master // 带有生产代码
  • git checkout -b "branch-name"// 从 master 创建一个新分支
  • 在这个分支中,您开发和添加、提交和推送更改
  • 完成后,您与主人合并

如果你有只在本地环境中使用的文件,你可以添加.gitignore文件


推荐阅读