Git push" unmanaged"变化

时间:2015-01-15 22:37:17

标签: git git-merge

前一段时间,当git非常新的时候,我做了一件蠢事。

具体来说,我使用“download zipfile”选项获取了一个项目的副本,并在本地对其进行了一系列更改。因此,整个目录基本上不用git的术语管理。没有.git类型的目录或文件(除了zipfile中的.gitignore)。

现在,当然,我需要将我的更改重新放回存储库。

最好的方法是什么?一个拯救的恩典是,在此期间,任何人(不是我,也不是其他任何人)都没有改变。

我能想到的唯一一件事就是在项目上做一个合适的“git clone”,然后手工区分每个文件,将那些改变的文件复制到位,然后对它进行正常推送。但这似乎是艰苦的工作,耗时且容易出错。我怀疑系统有一个简单的方法来解决我的这种愚蠢行为?

干杯, 西蒙

2 个答案:

答案 0 :(得分:3)

只需将修改后的项目克隆并复制到克隆中即可。让git担心找出哪些相关文件已经改变;它很擅长。根据需要提交并推送。

(这假设zip文件中项目的文件夹布局与git存储库中的文件夹布局匹配。)

答案 1 :(得分:0)

由于自生成zip文件以来没有任何更改,因此更简单。有两种方法可以做到这一点。第一个是有利于一般处理"我对一个版本进行了编辑,现在我不知道我做了什么"无论是否有权访问版本控制,都会出现问题。

  1. 在另一个位置再次打开原始存档包装。
  2. diff -r original devel > my.patch获取补丁文件。
  3. git clone存储库。
  4. patch -p1 < /path/to/my.patch
  5. git add -A .添加所有更改(包括已删除的文件)
  6. git commit
  7. 另一种方式,当我参与git时,我更喜欢......

    1. git clone存储库。
    2. 删除所有文件(.git目录除外)。
    3. 从您进行开发的存档目录中复制所有文件。
    4. git add -A .添加所有更改(包括已删除的文件)。
    5. git commit