首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从git BARE访问源文件:master

从git BARE访问源文件:master
EN

Stack Overflow用户
提问于 2011-06-19 17:30:50
回答 2查看 8.9K关注 0票数 6

我确信在这里我缺少了一些基本的东西,但是我已经收到了一滴存储在git存储库中的应用程序。它有一些文件夹,如:分支、钩子、对象等,但没有实际的源文件。

当我把git和cd打开到文件夹中时,标题是"(BARE:master)“。

我想我只需要从那个文件夹中克隆一个本地的书斋。最终,我只需要访问存储库中的实际源文件,但我肯定缺少一些概念,因为我对git有点陌生。

任何提示或帮助,我可以如何使这个地方设置将不胜感激。

编辑:当我试图从那个目录克隆时,我会收到以下错误

代码语言:javascript
复制
$ git clone c:/Users/Joel/Dropbox/TheProjectDirectory.git
Cloning into LocalProjectFolder ...
fatal: 'c:/Users/Joel/Dropbox/TheProjectDirectory.git' does not appear to be a git
 repository

fatal: The remote end hung up unexpectedly
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-19 17:35:44

它是您所拥有的赤裸的存储库。

获取源代码的最简单方法是通过git clone /path/to/your/bare/rep克隆它。

裸露的存储库类似于共享存储库,几个开发人员的工作都是在这里进行的。对于开发人员框,您最可能想要的是非裸露的。

有一个关于克隆存储库的第二章

编辑:所以,我的盒子上有一些git存储库。所以我试着模仿你的情况。首先,我将把我的存储库克隆为裸存储库:

代码语言:javascript
复制
idanilov@IDANILOV-PC /d/test
$ git clone --bare /d/work/gittesting/ bare.git
Cloning into bare repository bare.git...
done.

idanilov@IDANILOV-PC /d/test
$ cd bare.git/

idanilov@IDANILOV-PC /d/test/bare.git (BARE:master)

所以这里我有bare.git存储库,就像您有共享文件夹一样。现在,我将克隆它,使其具有一些具有实际源代码的工作目录:

代码语言:javascript
复制
idanilov@IDANILOV-PC /d/test/bare.git (BARE:master)
$ cd ..

idanilov@IDANILOV-PC /d/test
$ git clone bare.git/ my-non-bare-dev-rep
Cloning into my-non-bare-dev-rep...
done.

idanilov@IDANILOV-PC /d/test
$ cd my-non-bare-dev-rep/

idanilov@IDANILOV-PC /d/test/my-non-bare-dev-rep (master)

现在我有了文件夹my-non-bare-dev-rep,存储库中的所有文件都在那里。是你的工作副本。String (master)是您现在在master分支中的提示。

然后我会在我的工作副本中模仿一些作品。

代码语言:javascript
复制
idanilov@IDANILOV-PC /d/test/my-non-bare-dev-rep (master)
$ echo 'my new text' > text-file.txt

我希望看到与我从共享代表那里获得的版本相比,我在工作副本中所做的更改:

代码语言:javascript
复制
idanilov@IDANILOV-PC /d/test/my-non-bare-dev-rep (master)
$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       text-file.txt
nothing added to commit but untracked files present (use "git add" to track)

现在,我将将这个文本文件添加到所谓的阶段区域(有时称为索引)。它描述了在执行git commit命令时将提交的一组更改。

代码语言:javascript
复制
idanilov@IDANILOV-PC /d/test/my-non-bare-dev-rep (master)
$ git add text-file.txt

text现在在舞台区域。但它仍未作出承诺。是时候这样做了:

代码语言:javascript
复制
idanilov@IDANILOV-PC /d/test/my-non-bare-dev-rep (master)
$ git commit -m 'my commit from dev repo'
[master c0b0bd8] my commit from dev repo
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 text-file.txt

所以。现在它存储在我的本地存储库中。实际上在.git文件夹中。但它仍然没有去分享回购,让我的同事也看到它。为此,我需要做一个push

代码语言:javascript
复制
idanilov@IDANILOV-PC /d/test/my-non-bare-dev-rep (master)
$ git push origin
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 290 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To d:/test/bare.git/
   d01886b..c0b0bd8  master -> master

origin是执行克隆时给父级命名的标准名称git。所以,就像我从bare.git克隆出来的一样--我的变化就发生在那里。最后,要从共享文件夹获取更新到本地存储库,必须执行pull命令:

代码语言:javascript
复制
idanilov@IDANILOV-PC /d/test/my-non-bare-dev-rep (master)
$ git pull
Already up-to-date.

我没有从其他地方推到bare.git的任何变化,所以我的本地代表是最新的。吉特告诉我的。

票数 13
EN

Stack Overflow用户

发布于 2011-06-19 18:15:43

使用

代码语言:javascript
复制
git clone /c/some/dir.git

在吉特巴什。C:类型路径处理不好。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6403982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档