Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git:在稀疏签出、拉取、合并冲突后丢失了我的工作目录_Git_Pull_Recovery_Sparse Checkout - Fatal编程技术网

git:在稀疏签出、拉取、合并冲突后丢失了我的工作目录

git:在稀疏签出、拉取、合并冲突后丢失了我的工作目录,git,pull,recovery,sparse-checkout,Git,Pull,Recovery,Sparse Checkout,我丢失了git中所有分支的所有项目数据,无法恢复 我创建了三个分支:'master','distribution'和'remoteerp'(所有分支都有相同的代码,只是备份)并签出到remoteerp,然后我将稀疏签出配置配置配置为true,并将/.git/info/sparse checkout文件更新为/inoERP/inoERP/www/和/inoERP/inerp/inoERP服务器。然后,我像这样从github中提取了我的fork项目: git remote add -f github

我丢失了git中所有分支的所有项目数据,无法恢复

我创建了三个分支:
'master'
'distribution'
'remoteerp'
(所有分支都有相同的代码,只是备份)并签出到
remoteerp
,然后我将稀疏签出配置配置配置为true,并将
/.git/info/sparse checkout
文件更新为
/inoERP/inoERP/www/
/inoERP/inerp/inoERP服务器
。然后,我像这样从github中提取了我的fork项目:

git remote add -f githubinoerp [github_url_to_my_fork_repo]
git pull githubinoerp master
这导致License.txt和Copyright.txt发生冲突,并仅显示工作目录中的这些文件。由于我无法解决合并冲突(我还是初学者,正在学习git),我只是尝试使用
git reset--hard
重置到旧状态,但是它没有改变任何内容,比如说
sparse checkout已经改变了您的工作目录
。随后签出到其他分支(如distribution和master)也不会显示原始文件。我已经尝试了git reset Head——hard和git reset——在(签出)所有分支之后,都很难,但没有任何用处


如何将项目恢复到旧状态?

看来您必须学会合并冲突。 冲突在团队项目中非常常见,因此您可能会在将来使用它

这里有一本很好的解决冲突的手册:

无论如何,您可以使用以下内容检查您以前的状态:

git checkout hash-commit
您可以使用
git log
(在“commit之后)获取哈希值

这是一种非常舒适的方法来检查哪一部分失败了


编辑:您使用了
git reset--hard
,但这可能不是问题的最后一次提交。您可以使用git reset--hard hash\u commit如果之前没有检查提交,则不应使用此,因为您无法撤消此操作。

似乎您必须学会合并冲突。 冲突在团队项目中非常常见,因此您可能会在将来使用它

这里有一本很好的解决冲突的手册:

无论如何,您可以使用以下内容检查您以前的状态:

git checkout hash-commit
您可以使用
git log
(在“commit之后)获取哈希值

这是一种非常舒适的方法来检查哪一部分失败了


编辑:您使用了
git reset--hard
,但这可能不是问题的最后一次提交。您可以使用git reset--hard hash\u commit如果之前没有检查提交,则不应使用此,因为您无法撤消此操作。

您仍然处于稀疏签出模式,这就是您无法查看文件的原因

运行以下命令:

git config core.sparseCheckout false
git read-tree --empty
git reset --hard

这将使您的签出恢复为完全签出。

您仍然处于稀疏签出模式,这就是为什么您看不到文件的原因

运行以下命令:

git config core.sparseCheckout false
git read-tree --empty
git reset --hard

这将使您的签出恢复为完全签出。

如果您还是初学者,您可能应该远离诸如稀疏签出之类的高级功能。唉,我可以做到这一点,但我正在试验inoERP,它具有不同的DustDistribution目录结构(安装后)与github上的repo相比,我只想下载和签出repo的一个子目录,这是实际代码。如果你还是初学者,你可能应该远离诸如稀疏签出之类的高级功能。唉,我可以做到这一点,但我正在试验inoERP,它具有不同的DustDistribution目录结构(安装后)与github上的repo相比,我只想下载并签出repo的一个子目录,这是实际代码。即使现在不工作,工作目录仍然缺少所有项目文件;情况与以前相同。屏幕截图:即使现在不工作,工作目录仍然缺少所有项目文件;情况与以前相同。Scr事件:我正在使用这里的说明:并且得到错误:稀疏签出在工作目录上没有留下任何条目。这正是我之前从我的工作目录中丢失所有文件之前得到的。注意:我的本地目录是'myerp',我的远程名称是'githubinoerp',这些说明有什么错误/缺失?导致问题。这是我的屏幕截图:此消息表示您的模式与任何文件都不匹配。在此处搜索,有很多关于它的问题。据我所知,您不再需要sparce签出。您试图实现什么?我正在使用此处的说明:并得到错误:Sparse签出不会在工作中留下任何条目diDirectory。这正是我之前从我的工作目录中丢失所有文件之前得到的。注意:我的本地目录是“myerp”,远程名称是“githubinoerp”。这些指令有什么错误/缺失?导致问题。这是我的屏幕截图:此消息表示您的模式与任何文件都不匹配。搜索它在这里,有很多关于它的问题。据我所知,你不再需要Space checkout。你想实现什么?