我第一次在 Git 上工作。我把我的分支推到了 github 上,它把所有的图书馆和文档都推到了 github 上。现在我可以做什么,以及如何使用 gitignore 命令来避免同样的错误再次发生。
在您的 git 根目录中有一个名为 .gitignore的文件。这是个文件,不是命令。您只需要插入要忽略的文件的名称,它们就会自动被忽略。例如,如果希望忽略以 ~结尾的所有 emacs 自动保存文件,那么可以添加以下代码行:
.gitignore
~
*~
如果要从分支中删除不需要的文件,可以使用 git add -A,即“ 删除不再在工作树中的文件”。
git add -A
注意: 我所说的“ git 根目录”仅仅是您第一次使用 git init的目录。它也是您可以找到 .git目录的地方。
git init
.git
所以根据你所说的,这些文件是库/文档,你不想删除,但也不想推到 github。假设您的项目位于文件夹 your_project和 doc 目录: your_project/doc中。
github
your_project
your_project/doc
git rm --cached doc/*
project/.gitignore
doc/*
git add project/.gitignore
git commit -m "message"
Git 忽略是 git 中的一个约定 将忽略该目录中的文件以及与 最常见的用法是只有一个文件 但是你可以在你的目录中添加更深层次的东西 结构来忽略更多的模式,或者停止为该目录忽略它们 然后是更深层次的。
同样,您可以“取消忽略”更深层结构或特定 子集(即,忽略 * . log 但仍然希望跟踪 impant.log) 指定以 !开头的模式,例如:
!
*.log !important.log
将忽略所有日志文件,但将跟踪名为 important ant.log 的文件
如果您正在跟踪您想要忽略的文件,请删除它们,并将模式添加到 Gitignore 文件并添加所有更改
# delete files that should be ignored, or untrack them with # git rm --cached <file list or pattern> # stage all the changes git commit git add -A
从现在起,您的存储库将不会跟踪它们。
如果你想清理你的历史,你可以
# if you want to correct the last 10 commits git rebase -i --preserve-merges HEAD~10
然后用 e或 edit标记每个提交。保存计划。现在 git 将重播 你的历史记录停留在你标记为 e 的每个提交。在这里你删除 你不想要的文件,然后 git add -A和 git rebase --continue,直到你 完成。你的历史将是干净的。确保你告诉你的同事作为你 将不得不强行推动,他们将不得不重新基地,他们还没有推动。
e
edit
git rebase --continue
在我的 Mac 上我找到了这个文件 .gitignore_global。.它在我的主目录隐藏,所以做一个 ls -altr看到它。
.gitignore_global
ls -altr
我添加了我希望 git 忽略的 Eclipse 文件:
*~ .DS_Store .project .settings .classpath .metadata
如果你没有一个. gitignore 文件,首先使用:
touch .gitignore
然后这个命令在你的 gitignore 文件中添加行:
echo 'application/cache' >> .gitignore
小心新台词
如果没有. gitignore 文件,可以通过以下方法创建一个新文件
并且您可以通过在. gitignore 文件中输入以下命令来排除一个文件夹
/folderName
将这个文件推送到您的 git 存储库,这样当一个新人克隆您的项目时,他就不必再添加相同的内容了
有几种使用 gitignore git 的方法
只要创建一个. gitignore 文件,然后写入任何你想忽略的内容 一个示例 gitignore 文件如下:
# NPM packages folder. node_modules # Build files dist/ # lock files yarn.lock package-lock.json # Logs logs *.log npm-debug.log* # node-waf configuration .lock-wscript # Optional npm cache directory .npm # Optional REPL history .node_repl_history # Jest Coverage coverage .history/
你可以在 Git 文档 gitignore上找到更多