我有一个来自未初始化目录中某个Git存储库的所有文件的本地副本,即没有被Git跟踪(其中没有 .git ),我已经对它进行了一些更改。如何将这些更改推送到远程Git存储库?
这些行为可以描述我的意思:
git clone … ./
- 克隆存储库 rm -Rf ./.git
- 存储库不再初始化 vi ./somefile
- 介绍了一些更改 我有一个由bower
依赖关系管理工具创建的某个库的克隆目录。我已经对这个库进行了一些更改,现在我想将这些更改推送到主库。
我正在寻找一种使用Git重新初始化此目录的智能方法,并将更改作为单个提交推送到远程存储库。
答案 0 :(得分:2)
我正在寻找一种使用Git重新初始化此目录的智能方法,并将更改作为单个提交推送到远程存储库。
简单:在其他地方初始化它:
cd /path/to/somewhere/else
git clone /url/to/bower
cd bower
然后在新的克隆仓库中引用您的旧文件夹(您进行了一些更改)作为git工作树:
git --work-tree=/path/to/old/folder add .
git commit -m "changes'
git push
请参阅--work-tree
option of the git
command。
理论上,您可以使用git clone -n
直接在旧文件夹中执行git clone
:
cd /path/to/your/old/folder
git clone -n /url/of/bower .
(它可能会抱怨该文件夹不是空的,在这种情况下,git clone -n在外面,并移动旧文件夹中的.git文件夹)
但我更喜欢保持旧文件夹的完整性,并在单独的克隆中执行与git相关的操作。