如何在git中使用gitignore命令

tyu7yeag  于 2022-12-17  发布在  Git
关注(0)|答案(8)|浏览(167)

我是第一次使用git,我已经把我的分支推到github上了,它把所有的库和文档都推到了github上,现在我该怎么做,我该如何使用gitignore命令来避免同样的错误再次发生呢?

wecizke3

wecizke31#

因此,根据您所说的,这些文件是您不想删除的库/文档,也不想推送到github。假设您的项目位于文件夹your_project和doc目录中:your_project/doc .
1.将其从项目目录中移除(而不实际删除):git rm --cached doc/*
1.如果您还没有.gitignore,您可以在项目文件夹中创建一个:project/.gitignore .
1.将doc/*放入.gitignore中
1.暂存要提交的文件:git add project/.gitignore
1.提交:git commit -m "message"
1.将更改推送到github

xbp102n0

xbp102n02#

如果没有.gitignore文件,请首先用途:

touch .gitignore

然后用这个命令在gitignore文件中添加行:

echo 'application/cache' >> .gitignore

小心新台词

7jmck4yq

7jmck4yq3#

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


然后用eedit标记每一次提交。保存计划。现在git会在你用e标记的每一次提交处回放你的历史记录。这里你删除了你不想要的文件,git add -A,然后git rebase --continue,直到完成。您的历史记录将是干净的。请确保您告诉您的同事,因为您将不得不强制推动,他们将不得不重新设置他们没有设置的基础。现在还不能推。

8ftvxx2r

8ftvxx2r4#

在git根目录下有一个名为.gitignore的文件,它是一个文件而不是命令,你只需要插入你想忽略的文件名,它们就会被自动忽略,例如,如果你想忽略所有以~结尾的emacs autosave文件,你可以添加这一行:

*~

如果你想从你的分支删除不需要的文件,你可以使用git add -A,即“removes files that are no longer in the working tree“。
注意:我所说的“git根目录”只是你第一次使用git init的目录,也是你可以找到.git目录的地方。

mrphzbgm

mrphzbgm5#

如果您没有.gitignore文件,可以通过以下方式创建一个新文件

touch .gitignore

您可以通过在.gitignore文件中输入以下命令来排除文件夹

/folderName

把这个文件推送到你的git仓库中,这样当一个新的人克隆你的项目时,他就不必再添加相同的项目了

umuewwlo

umuewwlo6#

使用gitignore git有几种方法

  • 由特定的文件名指定。例如,忽略一个文件

称为readme.txt,只需将readme.txt写入.gitignore文件。

  • 您还可以写入文件扩展名。例如,

忽略所有.txt文件,写入 *. txt。

  • 你也可以忽略一个完整的文件夹.例如你想要忽略

文件夹名为test。然后只需在文件中写入test/。
只需创建一个.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 documentation gitignore上找到更多信息

flseospp

flseospp7#

在我的mac上我发现了这个文件.gitignore_global ..它在我的主目录隐藏,所以做一个ls -altr看到它。
我添加了我想让git忽略的eclipse文件,内容如下:

*~
.DS_Store
.project
.settings
.classpath
.metadata
mrphzbgm

mrphzbgm8#

作为this link,你可以添加.gitignore文件到你的项目的根目录,并添加所有的文件或文件夹名称(在我的例子中,c#项目忽略了文件和文件夹)
注意:git默认忽略这个文件。

相关问题