码迷,mamicode.com
首页 > 其他好文 > 详细

git remotes

时间:2015-05-24 15:30:43      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

简单地说,一个remote repository是一个非本地的repo。它可以是在你公司网络上的另外一个git repo,也可以是在internet上,甚至在你本地文件系统中的一个repo,关键点是它和你的my-git-repo project是不同的。

我们已经知道branch在单个的repo中是如何组织你的工作流的,但是要知道branch本身在Git的跨repo分享commit也有重要作为。Remote branches和我们一直本地使用的local branch没有太多区别,他们仅仅代表着存在于另外一个repo中的一个branch而已。

技术分享

这意味着我们可以利用我们branch的merging/rebasing技能很方便扩展到合作开发上去。下面我们假装在我们的样例web项目开发中有多个开发人员一起工作,他们是如何利用Git来协作的。

我们假设Mary,作为我们的graphic designer,她需要加入我们的web项目开发中。

Clone the Repository(MARY)

首先,mary需要一个她自己的repo以便可以开始工作。Git支持分布式的工作流,但是为了简便我们直接在本地文件系统中模拟不同repo协作。

cd /path/to/my-git-repo
cd ..
git clone my-git-repo marys-repo
cd marys-repo

上面的命令将在本地不同目录clone了一个my-git-repo项目repo,命名为marys-repo。

Configure The Repository (Mary)

首先,mary需要配置她clone的repo以便我们知道谁对项目做了贡献。

git config user.name "Mary"
git config user.email mary.example@rypress.com

注意由于我们没用--global选项,上面的user.name,email都只对这个repo有效,保存在.git的config文件中。

Start Mary’s Day (Mary)

今天,Mary开始开发她的bio page,她首先要在我们repo的clone repo中(对她来说,就是一个local repo)创建一个独立的分支以便隔离工作。

git checkout -b bio-page

Mary可以方便地在她的repo中创建和check out branches。她的repo是一个完全和我们的repo隔离的环境,她可以不用考虑任何在我们原始my-git-repo中的开发活动,任意地做她想做的开发工作。

就如branches是working directory的一种抽象,the staged snapshot, a commit history, a repository是一个branch的抽象。

Create Mary’s Bio Page ,commit,merge(Mary)

在marys-repo中,更改about/mary.html,随后commit该change到bio-page branch上,merge该branch到master上,以便准备分享mary自己的工作

git commit -a -m "Add bio page for Mary"
git log -n 1
git checkout master
git merge bio-page

现在我们项目repo和mary的repo是这样的:

技术分享

注意:两个repo都有常见的,本地branches,两个repo之间还没有任何交互动作,所以我们没有看到remote branches.

git remotes

标签:

原文地址:http://www.cnblogs.com/kidsitcn/p/4525789.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!