GIT分支的白痴指南

时间:2012-11-14 13:47:48

标签: git

好吧,我的客户要求我对他的网站进行更改。我可以从他们的webdev团队访问他们的GIT,我对我正在做的事情只有一个模糊的概念。我做了一些修改,设法推动他们然后从他那里得到一封邮件咆哮说我在错误的分支中做它并在“wp”分支中进行。但我不知道如何做到这一点,任何想法?

从一开始,我使用“git clone”来获取存储库。然后我编辑了该文件,然后设法向Google发送了一些命令以便将其恢复......它们是......

git add file.php
git commit -m 'comments'
git push

2 个答案:

答案 0 :(得分:4)

虽然说“只是google it”在情感上有些令人满意,但最终并不是特别有帮助。

正如我在评论中所提到的,branching中的章节相当不错,并且在解释git分支方面比我在这里做得更好。 Robodo也给出了正确的答案,就是如何切换到wp分支以便对其进行处理。

您可能会收到一封电子邮件,说“您做错了”,因为他们使用的工作流程master分支代表稳定的可部署代码(此类工作流程的示例here)。因此,直接向主人提交的东西是不受欢迎的。您应该找出他们使用的工作流程并尝试遵循它。

运行clone命令时,获取包含所有分支的远程存储库的完整副本。您可以通过运行

查看可用的所有分支
git branch --all

对我来说,本地分支是白色的,远程分支是红色的,当前签出的分支是绿色的。

远程分支机构?

  

远程分支是对远程存储库上分支状态的引用。他们是你无法移动的地方分支;每当您进行任何网络通信时,它们都会自动移动。远程分支充当书签,以提醒您远程存储库中的分支是您上次连接它们的位置。

为了在远程分支上工作,您create a local分支跟踪远程分支并提交到该分支。这可能听起来很奇怪,但它实际上只是一个命令

git checkout -t origin/wp

创建本地分支后,您可以使用

在它们之间切换
git checkout <branch name>

您的工作流程最终会成为什么样的

git clone <url>         
git checkout -t origin/wp               // create tracking branch
git checkout -b <branch name>           // branch for feature you plan to work on
    ... work work work ...
git add <files as needed>               // you can commit locally as much as you'd like
git commit                              // no one will see it until you push
    ... when work is done ...
git checkout wp                         // switch to branch you will merge into
git pull                                // make sure it's up to date with remote code
git merge <branch you were working on>  // merge your changes into wp branch and resolve
                                        // merge conflicts, if there are any
git push                                // publish your changes to remote repository

关于merge vs rebase工作流程,有一些激烈的争论。如果您的客户有偏好,请使用它。如果他们不这样做,请阅读双方的论据,看看你更喜欢哪一个并使用它。

答案 1 :(得分:1)

首先检查您需要处理的分支:

get checkout wp

然后你承诺并推动......