0

我从备份 tarball 中收到了修改后的旧版本ERPNext的代码,我想将此代码添加到我的 Ubuntu 笔记本电脑上的本地 Git 存储库中,这样我就可以跟踪更改,直到我的雇主可以托管远程存储库。假设备份已经在 中提取~/backup/erpnext/,我正在尝试设置我的 Git 存储库以进行如下初始提交:

cd ~
mkdir erpnext
cd erpnext
cp -r ~/backup/erpnext/* ./
git init
git add *

我认为,这应该将备份中的所有文件和文件夹添加到~/erpnext目录中,并将它们全部暂存以进行初始提交。然而,为了确保一切都按预期工作,我在git status提交之前运行并收到以下输出:

On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   app
    new file:   conf.py
    new file:   conf.pyc
    new file:   erpnext-backup.log
    new file:   erpnext-sch.log
    new file:   lib
    new file:   public/app
    new file:   public/app.html
    new file:   public/css/all-app.css
    new file:   public/css/all-web.css
    new file:   public/js/all-app.min.js
    new file:   public/js/all-web.min.js
    new file:   public/js/editor.min.js
    new file:   public/js/slickgrid.min.js
    new file:   public/lib
    new file:   scheduler.lock

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
  (commit or discard the untracked or modified content in submodules)

    modified:   app (modified content, untracked content)
    modified:   lib (modified content, untracked content)

令我惊讶的是,appand lib(它们都是文件夹)被标记为已修改内容,并且没有为提交而上演。我尝试git add --force*, appand上运行lib,但它似乎并没有改变任何东西。

我不想提交我的代码并将这些文件夹从存储库中排除。我该如何解决?

4

1 回答 1

2

删除.git/这些子文件夹中的所有目录。他们可能会混淆gitgit submodules有关更多信息,请参阅)。

(顺便说一句,您可以保留任何.gitignore文件,因为它们有望帮助忽略特定于这些文件夹的临时文件)。

这是一个方便的命令,可以删除(但不是).git的任何子目录中的所有目录:~/erpnext~/erpnext/.git

 find ~/erpnext/ -depth -mindepth 2 -type d -name .git -exec rm -rf \{\} \;

或者,如果您的上游项目已经是一个 git 存储库(带有子模块),您可能只想通过继续使用原始 VCS 来保留原始历史记录:

cd ~
rm -rf erpnext
cp -r ~/backup/erpnext .
cd erpnext
git log
于 2014-06-25T15:54:31.840 回答