【问题标题】:Git - necessary to have multiple local branches matching to remote branches?Git - 需要多个本地分支与远程分支匹配吗?
【发布时间】:2013-12-02 04:17:08
【问题描述】:

我有一个网站的代码,可以在 origin/master 分支中发布。

我使用git branch 在我的服务器上创建了一个新分支,所以它现在返回

$ git branch
* develop
master

Bitbucket 显示我也有两个分支 - 主分支和开发分支。我的问题是,如何在我的服务器上分离出分支(本地分支,我相信它们被称为)。

每个分支是否需要单独的文件夹,或者git checkout 是否会自动更新文件夹中的所有内容以匹配远程分支?谢谢。

【问题讨论】:

    标签: git version-control github bitbucket


    【解决方案1】:

    您不需要多个文件夹,git checkout $BRANCH 将在分支之间无缝切换。但如果你想反映上游的变化,你需要git pullgit fetch

    git checkout 只会检出本地机器上存在的分支。如果要匹配远程状态,则需要从该远程服务器获取所有引用。要更新您当前签出的分支,请使用 git pull 获取和合并。您也可以使用git fetch 拉取所有远程更改,但如果您希望本地分支与远程匹配,则必须在之后手动合并这些更改。

    【讨论】:

    • 但是当我结帐时,Apache 正在为开发文件提供服务。我需要有两个配置文件和两个目录吗?
    • 如果您要签出master,那么应该只有主文件,除非开发有主文件中不存在的目录。 Git 不跟踪目录,因此在这种情况下可能会保留空目录。
    • 我的意思是,假设我在 master 上,Apache 正在为域提供最新版本。然后我 git checkout 开发分支,文件改变了。 Apache 然后有不同的文件要服务,我不希望它这样做。如何防止这种情况发生?
    • 如果您尝试直接从您的开发环境中提供服务,那么您在签出文件时会遇到一些不一致的情况。一个示例工作流是从仅镜像主分支的单独目录/服务器提供服务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 2010-12-20
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 2018-09-12
    相关资源
    最近更新 更多