如何将现有的本地源代码与没有本地Git仓库的远程Git仓库链接?

3

有点长的故事,但大意如下:

在 GitHub 上:

我下载了一个源代码的 repo(只是通过 zip 文件,而不是克隆它) 我 fork 了这个 repo 并打算推送更改。

在我的本地机器上,我解压缩了我下载的主 repo 的源代码并进行了一些工作。

现在,我想将这些更改推回远程 forked repo,但由于我在第一次获取源代码时没有设置好 repo,所以我不知道该怎么做。

有什么帮助吗?

谢谢

Mustafa

4个回答

4
  1. 克隆项目(在与您的zip解压目录不同的目录中)
  2. 复制zip解压目录的内容(包括您的修改)
  3. 将其粘贴到克隆项目的内容上
  4. 提交更改
  5. 推送到远程

1
步骤1.5:在您下载的源代码所对应的存储库中创建并检出一个分支。希望它是一个已标记的版本号。(git checkout -b <branch> <commit>)如果您不这样做,您将会覆盖您没有修改过的旧内容。 - Cascabel
步骤4.5:将你的分支基于主分支进行变基(git rebase master <branch>)。如果出现冲突,请处理它们。然后将你的分支合并到主分支(git checkout master; git merge <branch>)。 - Cascabel

2

如果您的更改比较小,只需将远程存储库检出到本地存储库,然后将更改应用于其上,作为单个提交或一系列合理分割的提交(如果必要)。


1

以正确的方式克隆存储库。

从克隆的存储库中执行以下操作:

GIT_WORK_TREE=../test.wd git commit -am  "Commit from work tree"

(如果您添加了新文件,则必须添加文件:GIT_WORK_TREE=../test.wd git add

其中../test.wd是您解压并进行更改的工作目录的路径

现在,git push origin master

或者,您可以将文件复制到克隆中并提交和推送。


我做的就是这个 - 谢谢!很抱歉让你等了这么久才标记你为答案 - 是我的错! - Mustafakidd

1

只需将远程仓库添加为 origin

git remote add origin <repo url taken from github>

我不确定这是否能像git一样从一开始就设置好所有内容,但应该足以能够推送。


OP所做更改的目录不是git存储库。它只是远程存储库的快照(它没有.git目录),因此无法添加远程 - Igor Popov
啊,误解了。谢谢。 - Sedrik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接