推送后的文件位置

时间:2014-07-16 07:52:39

标签: git

我是git的新手。我正在使用Egit。我所做的是: 使用命令行

在X:\ coy_wcag(映射驱动器)中创建了一个存储库
git init

之后,我使用Git-> Clone 中的 Import-> Git->项目克隆此项目。已在我的本地工作区中成功创建项目。然后我添加了一个名为 kkkk.html 提交推送/推送到上游的文件进行分支。但是,当我转到X:\ coy_wcag时, kkkk.html 并不存在。我检查过遥控器设置正在使用' origin'并设置为file:/// X:\ coy_wcag。

为了检查提交和推送操作是否成功,我再次克隆它,但在其他目录中, kkkk.html 出现!!!

我不知道为什么我无法在x:\ coy_wcag中找到该文件,请帮忙谢谢。

2 个答案:

答案 0 :(得分:1)

使用远程存储库时,您应该在bare存储库上工作。非常不鼓励推送到非裸存储库。

您使用bare初始化git init --bare存储库。

要了解与常规存储库的区别,您可以查看this article。简单地说,bare存储库不直接包含文件,而是包含.git文件夹的内容。它只跟踪您的更改,您不应该在裸存储库中工作。


使用以下解决方案非常困难! INSTEAD总是尝试使用BARE REPOSITORY!

如果您仍想更新远程存储库的工作树,可以按照以下步骤操作:

# Go into the remote repository
git config --local receive.denyCurrentBranch ignore
git config --local core.worktree "$(pwd)"

现在将以下脚本放入.git/hooks/post-receive文件中:

#!/bin/sh
# This hook will update the working tree to match the latest pushed commit

git checkout -f

完成此操作后,远程存储库将在每次收到推送时更新其工作树。

重要

post-receive挂钩将覆盖当前位于远程存储库工作树中的任何更改。所以记住这一点!

答案 1 :(得分:0)

下次推后,转到上游文件夹拉取更改

git fetch
git pull

Git只推送对更改的引用,它不会自动更改文件