我是第一次使用git,我已经把我的分支推到github上了,它把所有的库和文档都推到了github上,现在我该怎么做,我该如何使用gitignore命令来避免同样的错误再次发生呢?
wecizke31#
因此,根据您所说的,这些文件是您不想删除的库/文档,也不想推送到github。假设您的项目位于文件夹your_project和doc目录中:your_project/doc .1.将其从项目目录中移除(而不实际删除):git rm --cached doc/*1.如果您还没有.gitignore,您可以在项目文件夹中创建一个:project/.gitignore .1.将doc/*放入.gitignore中1.暂存要提交的文件:git add project/.gitignore1.提交:git commit -m "message"。1.将更改推送到github。
github
your_project
your_project/doc
git rm --cached doc/*
.gitignore
project/.gitignore
doc/*
git add project/.gitignore
git commit -m "message"
xbp102n02#
如果没有.gitignore文件,请首先用途:
touch .gitignore
然后用这个命令在gitignore文件中添加行:
echo 'application/cache' >> .gitignore
小心新台词
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
型然后用e或edit标记每一次提交。保存计划。现在git会在你用e标记的每一次提交处回放你的历史记录。这里你删除了你不想要的文件,git add -A,然后git rebase --continue,直到完成。您的历史记录将是干净的。请确保您告诉您的同事,因为您将不得不强制推动,他们将不得不重新设置他们没有设置的基础。现在还不能推。
e
edit
git add -A
git rebase --continue
8ftvxx2r4#
在git根目录下有一个名为.gitignore的文件,它是一个文件而不是命令,你只需要插入你想忽略的文件名,它们就会被自动忽略,例如,如果你想忽略所有以~结尾的emacs autosave文件,你可以添加这一行:
~
*~
如果你想从你的分支删除不需要的文件,你可以使用git add -A,即“removes files that are no longer in the working tree“。注意:我所说的“git根目录”只是你第一次使用git init的目录,也是你可以找到.git目录的地方。
git init
.git
mrphzbgm5#
如果您没有.gitignore文件,可以通过以下方式创建一个新文件
您可以通过在.gitignore文件中输入以下命令来排除文件夹
/folderName
把这个文件推送到你的git仓库中,这样当一个新的人克隆你的项目时,他就不必再添加相同的项目了
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上找到更多信息
flseospp7#
在我的mac上我发现了这个文件.gitignore_global ..它在我的主目录隐藏,所以做一个ls -altr看到它。我添加了我想让git忽略的eclipse文件,内容如下:
.gitignore_global
ls -altr
*~ .DS_Store .project .settings .classpath .metadata
mrphzbgm8#
作为this link,你可以添加.gitignore文件到你的项目的根目录,并添加所有的文件或文件夹名称(在我的例子中,c#项目忽略了文件和文件夹)注意:git默认忽略这个文件。
8条答案
按热度按时间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
。xbp102n02#
如果没有.gitignore文件,请首先用途:
然后用这个命令在gitignore文件中添加行:
小心新台词
7jmck4yq3#
git ignore是git中的一个约定。将一个文件名设置为
.gitignore
会忽略该目录以及更深目录中与该文件包含的模式匹配的文件。最常见的用法是只在顶层放置一个这样的文件。但是你可以在目录结构的更深处添加其他文件来忽略更多的模式,或者停止忽略该目录以及更深目录中的模式。同样,您可以通过指定以
!
开头的模式来“取消忽略”深层结构或特定子集中的某些文件(即,您忽略了 *.log,但仍希望跟踪important.log)。例如:将忽略所有日志文件,但将跟踪名为important.log的文件
如果您正在跟踪您打算忽略的文件,请删除它们,将模式添加到.gitignore文件并添加所有更改
从现在起,您的存储库将不再跟踪它们。
如果要清除历史记录,可以
型
然后用
e
或edit
标记每一次提交。保存计划。现在git会在你用e标记的每一次提交处回放你的历史记录。这里你删除了你不想要的文件,git add -A
,然后git rebase --continue
,直到完成。您的历史记录将是干净的。请确保您告诉您的同事,因为您将不得不强制推动,他们将不得不重新设置他们没有设置的基础。现在还不能推。8ftvxx2r4#
在git根目录下有一个名为
.gitignore
的文件,它是一个文件而不是命令,你只需要插入你想忽略的文件名,它们就会被自动忽略,例如,如果你想忽略所有以~
结尾的emacs autosave文件,你可以添加这一行:如果你想从你的分支删除不需要的文件,你可以使用
git add -A
,即“removes files that are no longer in the working tree“。注意:我所说的“git根目录”只是你第一次使用
git init
的目录,也是你可以找到.git
目录的地方。mrphzbgm5#
如果您没有.gitignore文件,可以通过以下方式创建一个新文件
您可以通过在.gitignore文件中输入以下命令来排除文件夹
把这个文件推送到你的git仓库中,这样当一个新的人克隆你的项目时,他就不必再添加相同的项目了
umuewwlo6#
使用gitignore git有几种方法
称为readme.txt,只需将readme.txt写入.gitignore文件。
忽略所有.txt文件,写入 *. txt。
文件夹名为test。然后只需在文件中写入test/。
只需创建一个.gitignore文件,并写入您想要忽略示例gitignore文件:
您可以在git documentation gitignore上找到更多信息
flseospp7#
在我的mac上我发现了这个文件
.gitignore_global
..它在我的主目录隐藏,所以做一个ls -altr
看到它。我添加了我想让git忽略的eclipse文件,内容如下:
mrphzbgm8#
作为this link,你可以添加.gitignore文件到你的项目的根目录,并添加所有的文件或文件夹名称(在我的例子中,c#项目忽略了文件和文件夹)
注意:git默认忽略这个文件。