我是第一次使用git。我将我的分支推送到github上,并将所有库和文档推送到github中。现在我该怎么办以及如何使用gitignore命令来避免再次发生相同的错误。
git init
。该.git
目录位于那里。
我是第一次使用git。我将我的分支推送到github上,并将所有库和文档推送到github中。现在我该怎么办以及如何使用gitignore命令来避免再次发生相同的错误。
git init
。该.git
目录位于那里。
Answers:
因此,根据您所说的,这些文件是您不想删除但也不想推送到的库/文档github
。假设您在文件夹your_project
和doc目录中有您的项目your_project/doc
。
git rm --cached doc/*
.gitignore
,则可以在项目文件夹中创建一个:project/.gitignore
。doc/*
.gitignoregit add project/.gitignore
git commit -m "message"
。github
。如果您没有.gitignore文件,请首先使用:
touch .gitignore
然后使用以下命令在gitignore文件中添加行:
echo 'application/cache' >> .gitignore
小心新行
touch
首先文件。>>
与>
该文件尚不存在相同。echo
在输出末尾添加换行符。您可以使用停止该操作-n
。如果您需要各种忽略,请执行各种回显或使用-e
,如下所示:echo -e "**/cache/\n**.pyc" >> .gitignore
。双星号也与所有递归搜索到文件夹的文件匹配。/
以防万一,请在文件夹末尾使用。
echo "file_to_be_ignored" >> .gitignore
,无需执行其他任何操作。以/
as 结尾的文件夹名称echo "**/modules/" >> .gitignore
。
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
。您的历史记录将是干净的。确保您告诉同事,因为您将不得不强行推销,而他们将不得不重新整理尚未推销的内容。
您的git根目录中有一个名为的文件.gitignore
。这是一个文件,而不是命令。您只需要插入要忽略的文件名,它们就会自动被忽略。例如,如果您想忽略所有以结尾的emacs自动保存文件~
,则可以添加以下行:
*~
如果要从分支中删除不需要的文件,可以使用git add -A
,它“ 删除不再在工作树中的文件 ”。
注意:我所谓的“ git根目录”只是您git init
第一次使用的目录。您也可以在其中找到.git
目录。
如果您没有.gitignore文件。您可以通过创建一个新的
touch .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上找到更多信息
在我的Mac上,我发现此文件.gitignore_global
..它在我的主目录中处于隐藏状态,因此请ls -altr
进行查看。
我添加了我希望git忽略的eclipse文件。内容如下:
*~
.DS_Store
.project
.settings
.classpath
.metadata
.gitignore
是git根目录中的文件。为要忽略的文件添加名称模式,文件将被自动忽略。