我有一个Git媒体存储库,我将保存我将在各种项目中使用的所有JavaScript和CSS主文件和脚本.
如果我创建一个位于其自己的Git存储库中的新项目,我如何在我的新项目中使用来自我的媒体存储库的JavaScript文件,从而使我在进行更改时不必更新脚本的两个副本?
我无法将文件夹及其所有子目录添加到我的git存储库中.我意识到这是一个非常受欢迎的问题,在做了一些谷歌搜索,我已经尝试了每个建议没有运气,特别是git-add上的手册页的建议.我甚至尝试git add -A
过没有成功.为简单起见,假设我将我的git存储库初始化为Dir1
.然后我有以下目录结构的文件.
Dir1/file1-1.txt
Dir1/file1-2.txt
Dir1/Dir2/file2-1.txt
Dir1/Dir2/Dir3/file3-1.txt
Run Code Online (Sandbox Code Playgroud)
我的真实文件有超过5-6级深度的子目录,那么是否有一个git命令将每个子目录中的所有文件添加到我的存储库中?现在,当我从手册页中做出建议时,git add Dir1/\*
我可以Dir2
在我的仓库中看到,但它显示为绿色文件夹,我无法打开它,这让我相信所有的文件/文件夹都Dir2
没有得到添加.任何帮助将不胜感激.我是一个新的git用户(使用它的时间不到一周),所以请尝试将你的说明保持在初学者的水平.
我有一个git的问题,更确切地说是gitignore.
我创建了一个空文件夹Initialized git
mkdir fold
cd fold
git init
Run Code Online (Sandbox Code Playgroud)
更新了gitignore(如下所示)
*.prjx
Run Code Online (Sandbox Code Playgroud)
致力于gitignore
git add .gitignore
git commit -m "update gitignore"
Run Code Online (Sandbox Code Playgroud)
现在我有几个文件(其中包括.prjx)和根目录中的文件夹(折叠),我想添加所有文件,但是当我运行时
git add *
Run Code Online (Sandbox Code Playgroud)
我收到以下信息
The following paths are ignored by one of your .gitignore files:
ftc.prjx
Use -f if you really want to add them.
fatal: no files added
Run Code Online (Sandbox Code Playgroud)
我不想添加它,我只想添加所有其他文件和文件夹.根据我的理解.gitignore应该正好处理,为什么我得到上面的消息?我错过了什么吗?
当我git add
是一个文件夹时,整个内容和所有子文件夹都会自动暂存.如果文件夹包含我不想提交的子文件夹,我必须手动取消它们并将其添加到.gitignore
之后.明显的不间断感觉就像我在这里做错了.
解决方案是.gitignore
在添加之前编辑.但是在文件夹结构非常深/复杂的情况下,这有点棘手,因为很容易忘记忽略某些深层嵌套的文件/文件夹.
我正在寻找的是add
像SVN一样的步骤--non-recursive
,允许逐级添加文件夹而不需要暂存整个内容.但是我找不到这个功能git add
.所以我想知道:这种非递归添加的推荐git工作流程是什么?
考虑到其他人有完全相反的问题:也许我上面描述的行为是我的git版本(1.9.1)/设置的问题?
我认为这个问题已经在这个问题下讨论过:
但是我仍然无法将一些文件夹添加到 git 存储库,我需要帮助。
$ git status
...
# modified: folder_to_add1 (modified content, untracked content)
# modified: folder_to_add2 (modified content, untracked content)
Run Code Online (Sandbox Code Playgroud)
这些文件夹原本属于另一个git存储库,所以我进入这些文件夹并删除了里面的.git文件夹。
然后我跑了:
$ git add folder_to_add1
$ git add folder_to_add2
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add/rm <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) …
Run Code Online (Sandbox Code Playgroud)