一、前言

之前建立的一个名为paid的远程仓库分支,现在不想要了,所以我学习了下Git删除本地和远程仓库的分支。这个过程虽然有些曲折,但最终还是成功了。下面是我记录的学习笔记,希望能帮助到同样在学习Git的小伙伴们🤗。

二、删除本地分支

1. 查看所有分支

首先,我需要查看当前所有的本地分支,以便找到需要删除的分支。使用以下命令:

git branch

2. 切换到其他分支

在删除分支之前,我需要确保当前不在要删除的分支上。如果我在要删除的分支上,需要先切换到其他分支。例如,切换到main分支:

git checkout main

3. 删除本地分支

使用以下命令删除本地分支,例如删除名为paid的分支:

git branch -d paid

如果分支没有被合并,可以使用-D选项强制删除:

git branch -D paid

三、删除远程分支

1. 查看远程分支

首先,我需要查看远程仓库的所有分支,以便找到需要删除的分支。使用以下命令:

git fetch origin
git branch -r

2. 删除远程分支

使用以下命令删除远程分支,例如删除名为paid的分支:

git push origin --delete paid
或
git push origin -d paid

五、新建Git屏蔽Python依赖文件夹

在使用Git管理Python项目时,通常会遇到需要屏蔽(忽略)后端服务器的依赖文件夹的情况,比如venv__pycache__*.egg-infonode_modules等。这些文件夹通常包含虚拟环境、编译后的字节码文件或打包信息、依赖文件(文件多占用空间大),不需要纳入版本控制。

1. 创建或编辑.gitignore文件

在项目根目录下创建或编辑.gitignore文件,这是Git用来指定哪些文件或文件夹需要被忽略的配置文件。

2. 添加需要屏蔽的文件夹和文件

.gitignore文件中添加以下内容,以屏蔽常见的Python依赖文件夹和文件:

# Python虚拟环境
venv/
env/

# Python编译文件
__pycache__/
*.py[cod]
*$py.class

# Python打包信息
*.egg-info/
dist/
build/
*.egg

# Node.js依赖文件夹
node_modules/

# 其他常见忽略项
*.log
*.tmp

3. 提交.gitignore文件

.gitignore文件添加到Git仓库并提交:

git add .gitignore
git commit -m "添加.gitignore文件,屏蔽Python依赖文件夹"

4. 检查忽略效果

可以使用以下命令检查.gitignore文件的忽略效果:

git status

如果配置正确,venv__pycache__等文件夹将不会出现在未提交的更改列表中。

六、更新现有.gitignore文件以屏蔽node_modules文件夹 🛠️

如果你的项目已经存在.gitignore文件,只需按以下步骤操作即可屏蔽node_modules文件夹:

1. 打开.gitignore文件

使用任意文本编辑器打开项目根目录下的.gitignore文件。

2. 添加node_modules屏蔽规则

.gitignore文件中添加以下内容(可添加到文件末尾):

# Node.js依赖文件夹
node_modules/

3. 保存文件

保存对.gitignore文件的修改。

4. 检查是否生效

运行以下命令检查node_modules是否已被忽略:

git status

如果配置正确,node_modules文件夹将不会出现在未提交的更改列表中。

注意事项:

  • 如果node_modules已经被提交到远程仓库,需要先从Git中删除它(即使.gitignore已设置):

    git rm -r --cached node_modules
    git commit -m "从Git中移除node_modules"
    git push origin <branch-name>
  • 之后node_modules会被.gitignore规则屏蔽,不再被跟踪。

完整示例.gitignore内容(含Python和Node.js屏蔽规则):

# Python虚拟环境
venv/
env/

# Python编译文件
__pycache__/
*.py[cod]
*$py.class

# Python打包信息
*.egg-info/
dist/
build/
*.egg

# Node.js依赖文件夹
node_modules/

# 其他常见忽略项
*.log
*.tmp

这样就能同时屏蔽Python和Node.js的依赖文件夹啦!(๑•̀ㅂ•́)و✧