Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
git
提交
c9517341
G
git
项目概览
李少辉-开发者
/
git
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
git
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c9517341
编写于
8月 24, 2005
作者:
J
Junio C Hamano
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update tutorial to describe shared repository style a bit more.
Signed-off-by:
N
Junio C Hamano
<
junkio@cox.net
>
上级
ab9b3138
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
53 addition
and
20 deletion
+53
-20
Documentation/tutorial.txt
Documentation/tutorial.txt
+53
-20
未找到文件。
Documentation/tutorial.txt
浏览文件 @
c9517341
...
...
@@ -892,18 +892,26 @@ pull from:
It is likely that you will be pulling from the same remote
repository from time to time. As a short hand, you can store
the remote repository URL in a file under .git/
branch
es/
the remote repository URL in a file under .git/
remot
es/
directory, like this:
mkdir -p .git/branches
echo rsync://kernel.org/pub/scm/git/git.git/ \
>.git/branches/linus
------------------------------------------------
mkdir -p .git/remotes/
cat >.git/remotes/linus <<\EOF
URL: http://www.kernel.org/pub/scm/git/git.git/
EOF
------------------------------------------------
and use the filename to "git pull" instead of the full URL.
The
contents of a file under .git/branches
can even be a prefix
The
URL specified in such file
can even be a prefix
of a full URL, like this:
echo rsync://kernel.org/pub/.../jgarzik/ >.git/branches/jgarzik
------------------------------------------------
cat >.git/remotes/jgarzik <<\EOF
URL: http://www.kernel.org/pub/scm/linux/git/jgarzik/
EOF
------------------------------------------------
Examples.
...
...
@@ -913,9 +921,9 @@ Examples.
the above are equivalent to:
(1) git pull
rsync://
kernel.org/pub/scm/git/git.git/ HEAD
(2) git pull
rsync://
kernel.org/pub/scm/git/git.git/ tag v0.99.1
(3) git pull
rsync://
kernel.org/pub/.../jgarzik/netdev-2.6.git e100
(1) git pull
http://www.
kernel.org/pub/scm/git/git.git/ HEAD
(2) git pull
http://www.
kernel.org/pub/scm/git/git.git/ tag v0.99.1
(3) git pull
http://www.
kernel.org/pub/.../jgarzik/netdev-2.6.git e100
Publishing your work
...
...
@@ -1169,18 +1177,43 @@ Working with Others, Shared Repository Style
If you are coming from CVS background, the style of cooperation
suggested in the previous section may be new to you. You do not
have to worry. git supports "shared public repository" style of
cooperation you are more familiar with as well.
For this, you should set up a public repository on a machine
that are reachable via SSH by people with "commit privileges".
Put them in the same user group and make the repository writable
by that group. Then, each committer would first merge with the
head of the branch of choice, and run "git push" to update the
branch at the public repository. "git push" refuses to update
if the reference on the remote side is not an ancestor of the
commit you are pushing, to prevent you from overwriting changes
made by somebody else.
cooperation you are probably more familiar with as well.
For this, set up a public repository on a machine that is
reachable via SSH by people with "commit privileges". Put the
committers in the same user group and make the repository
writable by that group.
Each committer would then:
- clone the shared repository to a local repository,
------------------------------------------------
$ git clone repo.shared.xz:/pub/scm/project.git/ my-project
$ cd my-project
$ hack away
------------------------------------------------
- merge the work others might have done while you were
hacking away.
------------------------------------------------
$ git pull origin
$ test the merge result
------------------------------------------------
- push your work as the new head of the shared
repository.
------------------------------------------------
$ git push origin master
------------------------------------------------
If somebody else pushed into the same shared repository while
you were working locally, the last step "git push" would
complain, telling you that the remote "master" head does not
fast forward. You need to pull and merge those other changes
back before you push your work when it happens.
[ to be continued.. cvsimports ]
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录