如果你已经把一个文件夹提交到了 Git 仓库中,但是后来发现这个文件夹不应该被提交,可以按照以下步骤排除已提交的文件夹:
-
在文件夹的根目录下创建一个名为
.gitignore
的文件。 -
编辑
.gitignore
文件,添加需要排除的文件夹的名称,以及其他需要排除的文件或文件类型,每个名称占一行。 -
执行以下命令,将
.gitignore
文件提交到 Git 仓库中:git add .gitignore git commit -m "Add .gitignore file"
-
执行以下命令,从 Git 仓库中删除已提交的文件夹:
git rm -r --cached path/to/folder
其中
path/to/folder
是需要排除的文件夹的路径。 -
执行以下命令,将修改提交到 Git 仓库中:
git add . git commit -m "Exclude folder from Git repository"
现在,已提交的文件夹将被排除在 Git 仓库之外,只会出现在本地文件系统中,而不会影响 Git 仓库的状态。
示例
$ echo '.idea' >> .gitignore
$ git rm -r --cached .idea
$ git add .gitignore
$ git commit -m '(some message stating you added .idea to ignored entries)'
$ git push
其他示例
-
git init
: 初始化一个 Git 仓库。- 场景:在一个新项目中创建一个 Git 仓库时使用。
- 示例:在命令行终端中进入新项目的根目录,输入
git init
命令即可初始化一个 Git 仓库。
-
git clone
: 克隆一个远程仓库到本地。- 场景:在本地创建一个已经存在的远程仓库的副本时使用。
- 示例:假设远程仓库的地址为
https://github.com/username/repo.git
,则在命令行终端中输入git clone https://github.com/username/repo.git
命令即可将远程仓库克隆到本地。
-
git add
: 将文件添加到暂存区。- 场景:将工作目录中的文件添加到 Git 仓库中时使用。
- 示例:假设要将文件
file.txt
添加到 Git 仓库中,则在命令行终端中输入git add file.txt
命令即可将该文件添加到暂存区。
-
git commit
: 将暂存区的文件提交到本地仓库。- 场景:将暂存区中的修改提交到本地仓库时使用。
- 示例:假设已经将文件
file.txt
添加到暂存区中,需要将其提交到本地仓库,则在命令行终端中输入git commit -m "Add file.txt"
命令即可将修改提交到本地仓库。
-
git push
: 将本地仓库的修改推送到远程仓库。- 场景:将本地仓库的修改推送到远程仓库时使用。
- 示例:假设已经将本地仓库的修改提交到了本地分支
main
,需要将其推送到远程仓库,则在命令行终端中输入git push origin main
命令即可将修改推送到远程仓库。
-
git pull
: 从远程仓库拉取最新的修改到本地仓库。- 场景:从远程仓库获取最新的修改,以便在本地仓库中进行开发时使用。
- 示例:假设远程仓库的地址为
https://github.com/username/repo.git
,本地分支为main
,则在命令行终端中输入git pull https://github.com/username/repo.git main
命令即可从远程仓库拉取最新的修改到本地仓库。
-
git branch
: 查看分支信息。- 场景:查看当前仓库中的分支信息时使用。
- 示例:在命令行终端中输入
git branch
命令即可查看当前仓库中的分支信息。
-
git checkout
: 切换分支或恢复文件。- 场景:切换到其他分支或者恢复被修改的文件时使用。
- 示例:假设要切换到分支
dev
,则在命令行终端中输入git checkout dev
命令即可切换到分支dev
。如果要恢复被修改的文件file.txt
,则在命令行终端中输入git checkout file.txt
命令即可恢复该文件。
-
git merge
: 合并分支。- 场景:将两个分支合并成一个分支时使用。
- 示例:假设要将分支
dev
合并到分支main
中,则在命令行终端中先切换到分支main
,然后输入git merge dev
命令即可将分支dev
合并到分支main
中。
-
git status
: 查看当前仓库的状态。- 场景:查看当前仓库的状态,以了解哪些文件被修改、哪些文件被添加到暂存区等。
- 示例:在命令行终端中输入
git status
命令即可查看当前仓库的状态。
-
git log
: 查看提交历史。- 场景:查看当前仓库的提交历史。
- 示例:在命令行终端中输入
git log
命令即可查看当前仓库的提交历史。
-
git reset
: 恢复到某个提交状态。- 场景:将仓库恢复到某个提交状态时使用。
- 示例:假设要将当前仓库恢复到提交哈希值为
abcdefg
的提交状态,则在命令行终端中输入git reset --hard abcdefg
命令即可将仓库恢复到该提交状态。