Git如何在本地和远程分支上工作

时间:2013-10-08 16:39:25

标签: git

我在远程服务器上有一个项目 1)在家里,我克隆项目,然后在master中编辑一些东西,然后推送到远程。(命令是什么?)
2)在公司,我克隆项目(在第1步之前),现在,我想继续我的任务,所以我想从远程更新。 (命令是什么?)
3)然后,在更新之后,我创建了一个新的分支并处理新功能,但没有足够的时间,所以我想推送到远程并继续在家工作。 (命令是什么?)
4)当我回到家时,我想从远程更新我现有的项目并继续我的任务。 (命令是什么?)然后我编辑了一些东西,想要推送到远程并继续我在公司的工作。 (命令是什么?)
5)然后,我第二天回到公司,我想从远程更新并继续我的任务。(命令是什么?)
6)最后,我有另一台计算机A,我想从远程克隆并在分支上工作。(命令是什么?)。编辑后,我想推送到远程。 (命令是什么?)

我真的是git的首发 第4步,第5步和第6步是最困难的部分,因为我不知道如何从远程继续处理分支或克隆项目,然后在分支上工作。
请帮帮我。

2 个答案:

答案 0 :(得分:3)

假设您使用GitHub进行托管,您将被称为foo,而您的项目名为bar。

案例1.克隆并在家工作

git clone git@github.com:foo/bar.git
cd bar
... edit
git commit -a
git push origin master

案例2.在工作中

git fetch
git merge origin/master

案例3.工作中的新分支

git checkout -b feature-1
... edit
git commit
git push origin feature-1

案例4.主页,继续处理feature-1

git fetch
git checkout -t origin/feature-1
... edit
git commit
git push origin feature-1

案例5.工作,继续处理feature-1

git fetch
git merge origin/feature-1
... continue

案例6.计算机A

git clone git@github.com:foo/bar.git
cd bar
git checkout -t origin/feture-1
... edit
git commit
git push origin feature-1

我希望你明白这个主意。 一些技巧:

  • git checkout -b XXX创建一个新分支XXX并一步检查
  • git checkout -t YYY/XXX创建并检出本地分支XXX,该分支跟踪远程YYY中的分支XXX。

还要确保从文档中了解每个命令的详细信息。换句话说,不要盲目跟随我的例子。

答案 1 :(得分:2)

首先,我强烈推荐这个参考:

http://git-scm.com/documentation

有很多方法可以克隆。请看一下标题为“Distributed Git”的章节。 一种方式是这样的:

git clone john@githost:simplegit.git

假设遥控器名为“origin”......

  1. (克隆后); (做工作); git push origin master
  2. (克隆后); git pull; (做工作); git push origin master
  3. git checkout -b new_branch; (做工作); git push origin new_branch
  4. git pull; git checkout new_branch; (做工作); git push origin new_branch
  5. git pull; git checkout new_branch(如果你已经在那个分支上,可能没有必要); (做工作); git push origin new__branch
  6. (克隆后); git pull; git checkout new_branch; (做工作); git push origin new_branch