【问题标题】:Git: push-pull on working copiesGit:推拉工作副本
【发布时间】:2011-11-06 04:54:59
【问题描述】:

我开始使用“Git”进行版本控制。我已经初始化了我的仓库。 C:\Myrepo 并提交了几个文件。

git init
git add .
git commit 

然后我克隆了这个“Myrepo”。

git clone C:\Myrepo c:\Newrepo

我还想将更改从 Newrepo 拉回 Myrepo。

#c:\Myrepo>git pull c:\Newrepo
#From c:\Newrepo
# * branch            HEAD       -> FETCH_HEAD
#Already up-to-date.

没关系。

但是我想将更改从 c:\Myrepo 拉到 c:\Newrepo 然后我会变得致命,如下所示

#c:\Newrepo>git pull c:\Myrepo
#fatal: 'c:\Myrepo' does not appear to be a git repository
#fatal: The remote end hung up unexpectedly

如何将更改从 c:\Myrepo 拉取或推送到新形成的存储库?我应该使用什么程序?如何正确使用推/拉?没有裸回购有可能吗?我需要以某种方式配置存储库吗?


“push”命令仍有问题...如何创建 repo 以接受推送?如果我无法推送到这个目录,我仍然只使用“git init”创建 repo? 如何进行推送?必须将其初始化为“裸”仓库才能启用“推送”,还是可以推送到工作副本仓库?

最好的问候, 彼得

【问题讨论】:

标签: git


【解决方案1】:

从新的仓库,你可以做

git pull origin

Origin 是指向MyRepo 的遥控器,它会在您克隆时自动设置。

虽然git pull c:\Newrepo 有效,但我不确定为什么git pull c:\Myrepo 失败了。但是git pull origin 应该让您更好地了解您在设置时是否做了一些不同的事情,这与您在此处发布的内容并不明显。

PS:在 Git 中,没有工作副本的概念。全部都是 repos,在裸(没有工作目录)和非裸 repos 之间存在区别。

【讨论】:

    【解决方案2】:

    请设置一个遥控器并用它来拉和推。这将使后续的推送/拉取/获取变得不那么麻烦。

    编辑:

    查看手册:

    git remote
    git branch
    git push
    

    以便您了解定期推送和拉出存储库的要求。即,您不想每次都指定完整的 url/路径。

    【讨论】:

    • 亚当,这并不能真正回答问题。更适合作为评论。
    • 如果你使用一个分支,你应该可以只用git pullgit push来同步。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 2019-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    相关资源
    最近更新 更多