我有一个网站,我需要通过linux命令行将系统生成的文件和文件夹提交到现有的git存储库。
我已将repo拉到我的服务器,并且正在repo的子文件夹中写入文件,但是当我运行git add [FOLDER]/*
时,它给出了一个错误,即该文件夹位于存储库之外。我不知道如何克服这个问题。我是git的新手,请帮忙!
答案 0 :(得分:0)
如果没有看到实际的命令,我只能采取有根据的猜测。错误<blah> is outside repository
通常来自于您尝试添加实际上不是存储库子目录的目录时。
例如,如果您尝试添加../blah
之类的内容或使用/blah
之类的绝对目录。
$ mkdir test
$ cd test
$ git init
Initialized empty Git repository in /Users/schwern/tmp/test/.git/
$ git add ../blah
fatal: ../blah: '../blah' is outside repository
$ git add /blah
fatal: /blah: '/blah' is outside repository
在向其添加文件之前,无需添加子目录。无论如何,Git都不会跟踪目录,只会跟踪这些目录中的内容。 git add subdir/*
和git add subdir
(几乎)是相同的命令。
$ mkdir stuff
$ touch stuff/things
$ git add stuff/*
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: stuff/things
但是应该避免使用git add subdir/*
,因为它会遗漏像dotfiles这样的内容。
$ touch stuff/.dot
$ git add stuff/*
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: stuff/things
Untracked files:
(use "git add <file>..." to include in what will be committed)
stuff/.dot
改为使用git add subdir
。
$ git add stuff
$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: stuff/.dot
new file: stuff/things
答案 1 :(得分:0)
所以答案结果是我在使用git add / path / to / folder / *而不是cd / path / to / folder /时使用绝对路径; git add *;
出于某种原因,git并不喜欢绝对的路径并且正在窒息它。感谢大家的帮助!