Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
git
提交
92643a27
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,发现更多精彩内容 >>
提交
92643a27
编写于
1月 25, 2006
作者:
J
Junio C Hamano
浏览文件
操作
浏览文件
下载
差异文件
Merge branches 'jc/clone', 'md/env' and 'mo/path'
上级
941c9449
e6489a1b
016fb48b
96b086d6
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
70 addition
and
25 deletion
+70
-25
Documentation/fetch-options.txt
Documentation/fetch-options.txt
+7
-0
Documentation/git-clone.txt
Documentation/git-clone.txt
+9
-7
Documentation/repository-layout.txt
Documentation/repository-layout.txt
+3
-3
connect.c
connect.c
+8
-2
git-clone.sh
git-clone.sh
+23
-8
git-fetch.sh
git-fetch.sh
+11
-3
git-ls-remote.sh
git-ls-remote.sh
+9
-2
未找到文件。
Documentation/fetch-options.txt
浏览文件 @
92643a27
...
...
@@ -3,6 +3,13 @@
existing contents of `.git/FETCH_HEAD`. Without this
option old data in `.git/FETCH_HEAD` will be overwritten.
--upload-pack <upload-pack>::
-u <upload-pack>::
When given, and the repository to fetch from is handled
by 'git-fetch-pack', '--exec=<upload-pack>' is passed to
the command to specify non-default path for the command
run on the other end.
-f, \--force::
When `git-fetch` is used with `<rbranch>:<lbranch>`
refspec, it refuses to update the local branch
...
...
Documentation/git-clone.txt
浏览文件 @
92643a27
...
...
@@ -9,7 +9,7 @@ git-clone - Clones a repository.
SYNOPSIS
--------
[verse]
'git-clone' [-l [-s]] [-q] [-n] [--
naked
] [-o <name>] [-u <upload-pack>]
'git-clone' [-l [-s]] [-q] [-n] [--
bare
] [-o <name>] [-u <upload-pack>]
<repository> [<directory>]
DESCRIPTION
...
...
@@ -58,11 +58,13 @@ OPTIONS
-n::
No checkout of HEAD is performed after the clone is complete.
--
naked
::
Make a '
naked
' GIT repository. That is, instead of
--
bare
::
Make a '
bare
' GIT repository. That is, instead of
creating `<directory>` and placing the administrative
files in `<directory>/.git`, make the `<directory>`
itself the `$GIT_DIR`. This implies `-n` option.
itself the `$GIT_DIR`. This implies `-n` option. When
this option is used, neither the `origin` branch nor the
default `remotes/origin` file is created.
-o <name>::
Instead of using the branch name 'origin' to keep track
...
...
@@ -110,17 +112,17 @@ $ git show-branch
------------
Create a
naked
repository to publish your changes to the public::
Create a
bare
repository to publish your changes to the public::
+
------------
$ git clone --
naked
-l /home/proj/.git /pub/scm/proj.git
$ git clone --
bare
-l /home/proj/.git /pub/scm/proj.git
------------
Create a repository on the kernel.org machine that borrows from Linus::
+
------------
$ git clone --
naked
-l -s /pub/scm/.../torvalds/linux-2.6.git \
$ git clone --
bare
-l -s /pub/scm/.../torvalds/linux-2.6.git \
/pub/scm/.../me/subsys-2.6.git
------------
...
...
Documentation/repository-layout.txt
浏览文件 @
92643a27
...
...
@@ -3,7 +3,7 @@ git repository layout
You may find these things in your git repository (`.git`
directory for a repository associated with your working tree, or
`'project'.git` directory for a public '
naked
' repository).
`'project'.git` directory for a public '
bare
' repository).
objects::
Object store associated with this repository. Usually
...
...
@@ -73,7 +73,7 @@ HEAD::
A symlink of the form `refs/heads/'name'` to point at
the current branch, if exists. It does not mean much if
the repository is not associated with any working tree
(i.e.
'naked
' repository), but a valid git repository
(i.e.
a 'bare
' repository), but a valid git repository
*must* have such a symlink here. It is legal if the
named branch 'name' does not (yet) exist.
...
...
@@ -92,7 +92,7 @@ hooks::
index::
The current index file for the repository. It is
usually not found in a
naked
repository.
usually not found in a
bare
repository.
info::
Additional information about the repository is recorded
...
...
connect.c
浏览文件 @
92643a27
...
...
@@ -644,10 +644,16 @@ int git_connect(int fd[2], char *url, const char *prog)
ssh_basename
++
;
execlp
(
ssh
,
ssh_basename
,
host
,
command
,
NULL
);
}
else
else
{
unsetenv
(
ALTERNATE_DB_ENVIRONMENT
);
unsetenv
(
DB_ENVIRONMENT
);
unsetenv
(
GIT_DIR_ENVIRONMENT
);
unsetenv
(
GRAFT_ENVIRONMENT
);
unsetenv
(
INDEX_ENVIRONMENT
);
execlp
(
"sh"
,
"sh"
,
"-c"
,
command
,
NULL
);
}
die
(
"exec failed"
);
}
}
fd
[
0
]
=
pipefd
[
0
][
0
];
fd
[
1
]
=
pipefd
[
1
][
1
];
close
(
pipefd
[
0
][
1
]);
...
...
git-clone.sh
浏览文件 @
92643a27
...
...
@@ -9,7 +9,7 @@
unset
CDPATH
usage
()
{
echo
>
&2
"Usage:
$0
[--
naked
] [-l [-s]] [-q] [-u <upload-pack>] [-o <name>] [-n] <repo> [<dir>]"
echo
>
&2
"Usage:
$0
[--
bare
] [-l [-s]] [-q] [-u <upload-pack>] [-o <name>] [-n] <repo> [<dir>]"
exit
1
}
...
...
@@ -53,15 +53,17 @@ use_local=no
local_shared
=
no
no_checkout
=
upload_pack
=
naked
=
bare
=
origin
=
origin
origin_override
=
while
case
"
$#,$1
"
in
0,
*
)
break
;;
*
,-n|
*
,--no|
*
,--no-|
*
,--no-c|
*
,--no-ch|
*
,--no-che|
*
,--no-chec|
\
*
,--no-check|
*
,--no-checko|
*
,--no-checkou|
*
,--no-checkout
)
no_checkout
=
yes
;;
*
,--na|
*
,--nak|
*
,--nake|
*
,--naked
)
naked
=
yes
;;
*
,--na|
*
,--nak|
*
,--nake|
*
,--naked|
\
*
,-b|
*
,--b|
*
,--ba|
*
,--bar|
*
,--bare
)
bare
=
yes
;;
*
,-l|
*
,--l|
*
,--lo|
*
,--loc|
*
,--loca|
*
,--local
)
use_local
=
yes
;;
*
,-s|
*
,--s|
*
,--sh|
*
,--sha|
*
,--shar|
*
,--share|
*
,--shared
)
local_shared
=
yes
;
use_local
=
yes
;;
...
...
@@ -72,6 +74,11 @@ while
echo
>
&2
"'
$2
' is not suitable for a branch name"
exit
1
}
test
-z
"
$origin_override
"
||
{
echo
>
&2
"Do not give more than one -o options."
exit
1
}
origin_override
=
yes
origin
=
"
$2
"
;
shift
;;
1,-u|1,--upload-pack
)
usage
;;
...
...
@@ -85,8 +92,16 @@ do
shift
done
# --naked implies --no-checkout
test
-z
"
$naked
"
||
no_checkout
=
yes
# --bare implies --no-checkout
if
test yes
=
"
$bare
"
then
if
test yes
=
"
$origin_override
"
then
echo
>
&2
'--bare and -o $origin options are incompatible.'
exit
1
fi
no_checkout
=
yes
fi
# Turn the source into an absolute path if
# it is local
...
...
@@ -103,11 +118,11 @@ dir="$2"
[
-e
"
$dir
"
]
&&
echo
"
$dir
already exists."
&&
usage
mkdir
-p
"
$dir
"
&&
D
=
$(
cd
"
$dir
"
&&
pwd
)
&&
case
"
$
naked
"
in
case
"
$
bare
"
in
yes
)
GIT_DIR
=
"
$D
"
;;
*
)
GIT_DIR
=
"
$D
/.git"
;;
esac
&&
export
GIT_DIR
&&
git-init-db
||
usage
case
"
$
naked
"
in
case
"
$
bare
"
in
yes
)
GIT_DIR
=
"
$D
"
;;
*
)
...
...
@@ -208,7 +223,7 @@ esac
cd
"
$D
"
||
exit
if
test
-f
"
$GIT_DIR
/HEAD"
if
test
-f
"
$GIT_DIR
/HEAD"
&&
test
-z
"
$bare
"
then
head_points_at
=
`
git-symbolic-ref HEAD
`
case
"
$head_points_at
"
in
...
...
git-fetch.sh
浏览文件 @
92643a27
...
...
@@ -17,12 +17,20 @@ append=
force
=
verbose
=
update_head_ok
=
exec
=
upload_pack
=
while case
"$#"
in
0
)
break
;;
esac
do
case
"
$1
"
in
-a
|
--a
|
--ap
|
--app
|
--appe
|
--appen
|
--append
)
append
=
t
;;
-u
|
--u
|
--up
|
--upl
|
--uploa
|
--upload
|
--upload-
|
--upload-p
|
--upload-pa
|
\
--upload-pac
|
--upload-pack
)
shift
exec
=
"--exec=
$1
"
upload_pack
=
"-u
$1
"
;;
-f
|
--f
|
--fo
|
--for
|
--forc
|
--force
)
force
=
t
;;
...
...
@@ -196,7 +204,7 @@ reflist=$(get_remote_refs_for_fetch "$@")
if
test
"
$tags
"
then
taglist
=
$(
IFS
=
" "
&&
git-ls-remote
--tags
"
$remote
"
|
git-ls-remote
$upload_pack
--tags
"
$remote
"
|
while
read
sha1 name
do
case
"
$name
"
in
...
...
@@ -312,7 +320,7 @@ fetch_main () {
(
: subshell because we muck with IFS
IFS
=
"
$LF
"
(
git-fetch-pack
$keep
"
$remote
"
$rref
||
echo
failed
"
$remote
"
git-fetch-pack
$
exec
$
keep
"
$remote
"
$rref
||
echo
failed
"
$remote
"
)
|
while
read
sha1 remote_name
do
...
...
@@ -361,7 +369,7 @@ fetch_main "$reflist"
case
"
$no_tags$tags
"
in
''
)
taglist
=
$(
IFS
=
" "
&&
git-ls-remote
--tags
"
$remote
"
|
git-ls-remote
$upload_pack
--tags
"
$remote
"
|
sed
-ne
's|^\([0-9a-f]*\)[ ]\(refs/tags/.*\)^{}$|\1 \2|p'
|
while
read
sha1 name
do
...
...
git-ls-remote.sh
浏览文件 @
92643a27
...
...
@@ -2,7 +2,8 @@
#
usage
()
{
echo
>
&2
"usage:
$0
[--heads] [--tags] <repository> <refs>..."
echo
>
&2
"usage:
$0
[--heads] [--tags] [-u|--upload-pack <upload-pack>]"
echo
>
&2
" <repository> <refs>..."
exit
1
;
}
...
...
@@ -11,6 +12,7 @@ die () {
exit
1
}
exec
=
while case
"$#"
in
0
)
break
;;
esac
do
case
"
$1
"
in
...
...
@@ -18,6 +20,11 @@ do
heads
=
heads
;
shift
;;
-t
|
--t
|
--ta
|
--tag
|
--tags
)
tags
=
tags
;
shift
;;
-u
|
--u
|
--up
|
--upl
|
--uploa
|
--upload
|
--upload-
|
--upload-p
|
--upload-pa
|
\
--upload-pac
|
--upload-pack
)
shift
exec
=
"--exec=
$1
"
shift
;;
--
)
shift
;
break
;;
-
*
)
...
...
@@ -66,7 +73,7 @@ rsync://* )
;;
*
)
git-peek-remote
"
$peek_repo
"
||
git-peek-remote
$exec
"
$peek_repo
"
||
echo
"failed slurping"
;;
esac
|
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录