git - Git:如何不将分支推送到远程
问题描述
我有两个远程 git 服务器,一个用于我推送所有内容的开发,另一个应该仅用于里程碑。
我想要做的是将所有内容提交并推送到开发服务器,并仅推送里程碑 git 上的“主”分支。
现在我在本地(dev\my_project
和mile\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 上推送主分支。
解决方案
为此存在分支概念。您可以在分支 master 旁边有许多分支,并且只进行您定义为相关的合并更改。您的开发流程必须是这样的:
- master // 带有生产代码
- git checkout -b "branch-name"// 从 master 创建一个新分支
- 在这个分支中,您开发和添加、提交和推送更改
- 完成后,您与主人合并
如果你有只在本地环境中使用的文件,你可以添加.gitignore文件
推荐阅读
- java - 如何打印没有转义和引号的嵌套 json-object
- angularjs - ng-repeat 中的 AngularJS 动态重新编译
- mysql - Docker compose - mysql 挂载卷为空
- python - 如何在 Python 中从 SQLite3 获取最新条目
- c# - 如何在 Topshelf 上的服务启动时调用控制器方法
- reactjs - 按数据属性显示/隐藏元素(react=
- python - 将文件写入pdf时的Python问题
- php - 未从 Slack Slash Commands API 接收有效负载
- r - 使用更新、删除或更改表时如何删除 sqldf 中的警告
- nativescript - Nativescript iOS 应用程序未在设备上运行