将远程存储库映射到包含文件的现有目录
Map remote repository to an existing directory with files
我遇到以下问题,找不到解决方案。
我前段时间从 GitHub 下载了存储库 yii2-debug
(一个 ZIP 文件)。我更改了一些文件(我知道我不应该这样做,但没有其他选择)。现在我想升级到最新版本,我想以某种方式做到这一点,下次升级会很容易 - 只需从 GitHub 中提取最新更改并合并。
- 我有一个包含我当前文件的目录(所以是修改后的版本 1)
- 我想将此目录映射到 github
上的远程存储库
- 然后拉取最新的更改(我们称之为版本 2)
- 将新的更改与我的代码合并
我试过了
git init
在目录上,然后
git remote add origin
,
用 git branch --set-upstream
设置分支
然后我尝试提取最新的更改,但不知何故这并没有很好地解决问题。 GIT 认为我的更改是 "newer" 并且所有被拉取的更改都没有合并,但大部分标记为已删除的文件或类似的东西。
知道如何正确地做到这一点吗?我无法将 GitHub 的最新更改合并到我的代码中。
谢谢
我建议您创建一个新的上游存储库克隆,用您修改后的版本替换该克隆中的文件,并创建一个包含您的更改的新提交。
一种方法是删除新克隆中的所有文件,将修改后的版本复制到新克隆中,添加所有文件,然后提交。
一个稍微 quicker/cleaner 的方法是将 .git
目录从您的新克隆移动到包含您的修改版本的目录,添加所有文件,然后提交。
git clone https://github.com/yiisoft/yii2-debug.git
cd yii2-debug
git checkout -b mychanges <branch-or-tag-you-originally-downloaded>
cd ..
mv yii2-debug/.git modified-version
cd modified-version
git add -A # see note below
git commit -m "my changes"
完成 git add -A
后,您应该使用 git status
查看更改。您下载的 zip 和相应的提交可能包含略有不同的文件(例如,zip 文件可能不包含 .gitignore
文件)。在提交之前查看更改让您有机会取消您实际上没有进行的更改。
执行此操作后,包含修改文件的目录是 git 存储库,带有 mychanges
分支,包含在您最初下载的版本之上的单个提交。您可以将较新的 branches/tags/commits 合并到此分支中,或者将包含您的更改的提交重新设置为其他 branches/tags.
我遇到以下问题,找不到解决方案。
我前段时间从 GitHub 下载了存储库 yii2-debug
(一个 ZIP 文件)。我更改了一些文件(我知道我不应该这样做,但没有其他选择)。现在我想升级到最新版本,我想以某种方式做到这一点,下次升级会很容易 - 只需从 GitHub 中提取最新更改并合并。
- 我有一个包含我当前文件的目录(所以是修改后的版本 1)
- 我想将此目录映射到 github 上的远程存储库
- 然后拉取最新的更改(我们称之为版本 2)
- 将新的更改与我的代码合并
我试过了
git init
在目录上,然后
git remote add origin
,
用 git branch --set-upstream
然后我尝试提取最新的更改,但不知何故这并没有很好地解决问题。 GIT 认为我的更改是 "newer" 并且所有被拉取的更改都没有合并,但大部分标记为已删除的文件或类似的东西。
知道如何正确地做到这一点吗?我无法将 GitHub 的最新更改合并到我的代码中。 谢谢
我建议您创建一个新的上游存储库克隆,用您修改后的版本替换该克隆中的文件,并创建一个包含您的更改的新提交。
一种方法是删除新克隆中的所有文件,将修改后的版本复制到新克隆中,添加所有文件,然后提交。
一个稍微 quicker/cleaner 的方法是将 .git
目录从您的新克隆移动到包含您的修改版本的目录,添加所有文件,然后提交。
git clone https://github.com/yiisoft/yii2-debug.git
cd yii2-debug
git checkout -b mychanges <branch-or-tag-you-originally-downloaded>
cd ..
mv yii2-debug/.git modified-version
cd modified-version
git add -A # see note below
git commit -m "my changes"
完成 git add -A
后,您应该使用 git status
查看更改。您下载的 zip 和相应的提交可能包含略有不同的文件(例如,zip 文件可能不包含 .gitignore
文件)。在提交之前查看更改让您有机会取消您实际上没有进行的更改。
执行此操作后,包含修改文件的目录是 git 存储库,带有 mychanges
分支,包含在您最初下载的版本之上的单个提交。您可以将较新的 branches/tags/commits 合并到此分支中,或者将包含您的更改的提交重新设置为其他 branches/tags.