Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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远程拉入并(重新)初始化本地项目?_Git_Repository - Fatal编程技术网

在删除.git之后,如何使用git远程拉入并(重新)初始化本地项目?

在删除.git之后,如何使用git远程拉入并(重新)初始化本地项目?,git,repository,Git,Repository,很难解释,但基本上我有一个克隆的远程存储库,它的本地.git信息已被删除。已经做了一些工作;但现在我需要将其重新集成到远程回购中;如何使用远程git repo“初始化”本地项目?我知道我可以git init,但我不想丢失历史记录或提交等。再次克隆项目,然后使用cp或rsync命令通过修改内容覆盖worktree中的所有项目文件 为防止本地更改和远程更改之间可能发生冲突,克隆远程更改后,应创建新的本地分支,并用本地修改覆盖其工作树。然后,将此本地分支与跟踪远程分支合并。假设上次签出的提交的SHA是

很难解释,但基本上我有一个克隆的远程存储库,它的本地
.git
信息已被删除。已经做了一些工作;但现在我需要将其重新集成到远程回购中;如何使用远程git repo“初始化”本地项目?我知道我可以
git init
,但我不想丢失历史记录或提交等。

再次克隆项目,然后使用cp或rsync命令通过修改内容覆盖worktree中的所有项目文件


为防止本地更改和远程更改之间可能发生冲突,克隆远程更改后,应创建新的本地分支,并用本地修改覆盖其工作树。然后,将此本地分支与跟踪远程分支合并。

假设上次签出的提交的SHA是
abc123
,请执行以下操作:

git init .
git checkout -b my_branch (where my_branch is a new branch name you made up)
git remote add origin <url of your remote repository>
git fetch
git reset abc123
git commit -am "Here are my changes"
git checkout master (or whatever branch you were on before you deleted .git)
git merge my_branch
git init。
git checkout-b my_branch(其中my_branch是您创建的新分支名称)
git远程添加源
git获取
git复位abc123
git commit-am“这里是我的更改”
git签出主机(或删除.git之前所在的任何分支)
git合并我的分支

如果您不知道您最后一次执行的确切提交,那么如果您选择了任何在您最后一次执行的实际提交之前的提交,那么这将起作用;越往回走,合并冲突就越多。不要选择上次实际提交后发生的提交,因为这将导致丢失更改

删除.git后,与git无关,重新初始化新的git存储库成为必然。