我第一次使用git。我已将我的分支推送到github上,它将所有库和文档都推送到github中。现在我该怎么办?如何使用gitignore命令再次避免同样的错误。
答案 0 :(得分:125)
因此,根据您的说法,这些文件是您不想删除的库/文档,但也不想推送到github
。假设您的项目位于文件夹your_project
和doc目录中:your_project/doc
。
git rm --cached doc/*
.gitignore
,则可以在项目文件夹中单独设置一个:project/.gitignore
。 doc/*
放入.gitignore git add project/.gitignore
git commit -m "message"
。 github
。答案 1 :(得分:26)
如果您没有.gitignore文件,请先使用:
touch .gitignore
然后使用此命令在gitignore文件中添加行:
echo 'application/cache' >> .gitignore
小心新线
答案 2 :(得分:12)
git ignore是git中的约定。设置名称为.gitignore
的文件
将忽略该目录中的文件和与之匹配的更深层目录
文件包含的模式。最常见的用途是拥有一个文件
像这样在顶层。但您可以在目录中更深入地添加其他内容
结构忽略更多模式或停止忽略它们的目录
随后更深层次的。
同样,您可以“取消”更深层结构或特定文件中的某些文件
子集(即,您忽略* .log但仍希望仍然跟踪important.log)
指定以!
开头的模式。例如:
*.log !important.log
将忽略所有日志文件,但会跟踪名为important.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
,直到您
完成。你的历史会很干净。确保你告诉你的同事
将不得不强行推动他们将不得不改变他们没有推动的东西。
答案 3 :(得分:9)
git根目录中有一个名为.gitignore
的文件。这是一个文件,而不是命令。您只需要插入要忽略的文件的名称,它们将自动被忽略。例如,如果您想忽略以~
结尾的所有emacs自动保存文件,那么您可以添加以下行:
*~
如果要从分支中删除不需要的文件,可以使用git add -A
,“removes files that are no longer in the working tree”。
注意:我称之为“git根目录”的只是您第一次使用git init
的目录。您也可以在这里找到.git
目录。
答案 4 :(得分:2)
有几种使用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/
中找到更多信息
答案 5 :(得分:1)
在我的Mac上我发现这个文件.gitignore_global
..在我的主目录中是隐藏的,所以请ls -altr
查看它。
我添加了我希望git忽略的eclipse文件。内容如下:
*~
.DS_Store
.project
.settings
.classpath
.metadata
答案 6 :(得分:1)
如果您没有.gitignore文件。您可以通过
创建一个新的touch .gitignore
您可以通过在.gitignore文件中输入以下命令来排除文件夹
/folderName
将此文件推送到您的git存储库中,这样,当一个新人克隆您的项目时,他不必再次添加该文件