git 批量删除git分支_Git分支指南

git 批量删除git分支

在本系列的前两篇文章中,我们开始使用Git,并学习了如何克隆,修改,添加和删除 Git文件。 在第三部分中,我们将探讨Git分支以及为什么以及如何使用它。

tree branches

将此树想象成一个Git仓库。 它有很多分支,长而短,起源于树干,也起源于其他分支。 假设树的树干代表仓库的主分支。 在本文中,我将使用master作为“ master branch”的别名,即仓库的中央或第一个分支。 为简化起见,让我们假设master节点是一个树干,其他分支都从其开始。

为什么我们在Git仓库中需要分支

  • 如果要为项目创建新功能,则添加它可能会破坏您的工作代码,这是一个合理的机会。 对于您的项目的活跃用户来说,这将是非常糟糕的。 最好从原型开始,在决定是否将功能添加到仓库master以供其他人使用之前,您可能希望在另一个分支中进行大致设计,并查看其工作原理。
  • 另一个可能更重要的原因是Git进行了协作。 如果每个人都在仓库的master分支上开始编程,这将引起很多混乱。 每个人都有不同的知识和经验(在编程语言和/或项目中); 有些人可能会编写错误/错误的代码,或者只是编写您在项目中可能不需要的代码/功能。 使用分支可以验证贡献并选择要添加到项目中的贡献。 (这假设您是该存储库的唯一所有者,并希望完全控制添加到该存储库中的代码。在实际的项目中,有多个所有者有权在存储库中合并代码。)

添加分支

让我们回到本系列上一篇文章 ,看看Demo目录中的分支是什么样子。 如果您尚未这样做,请按照该文章中的说明从GitHub克隆存储库,并导航到Demo 。 运行以下命令:


   
   
pwd
git branch
ls -la

pwd命令(代表当前的工作目录)报告您所在的目录(以便检查您是否在Demo中 ), git branch列出了Demo存储库中计算机上的所有分支, ls -la列出PWD中的所有文件。 现在,您的终端将如下所示:

Terminal output

分支主机上只有一个文件README.md 。 (请忽略其他列出的目录和文件。)

接下来,运行以下命令:


   
   
git status
git checkout -b myBranch
git status

第一个命令git status报告您当前在branch master ,并且(如下面的终端屏幕截图所示)它是最新的origin/master ,这意味着您在分支的本地副本上拥有的所有文件master也出现在GitHub上。 这两个副本之间没有区别。 两个副本上的所有提交也相同。

下一个命令git checkout -b myBranch-b告诉Git创建一个新分支并将其命名为myBranch ,然后checkout将我们切换到新创建的分支。 输入第三行git status ,以验证您是否在刚创建的新分支上。

如下所示, git status报告您位于分支myBranch ,没有要提交的内容。 这是因为既没有新文件,也没有现有文件的任何修改。

Terminal output

如果要查看分支的可视化表示,请运行命令gitk 。 如果计算机抱怨bash: gitk: command not found… ,则安装gitk 。 (有关安装说明,请参见您操作系统的文档。)

下图报告了我们在Demo中所做的事情:您的最后一次提交是Delete file.txt ,在此之前进行了3次提交。 当前提交以黄色点表示,先前提交以蓝色点表示,黄色点和Delete file.txt之间的三个框告诉您每个分支的位置(即,每个分支上的最后一次提交是什么)。 由于刚刚创建myBranch ,它是在同一提交的master和远程副本master ,即remotes/origin/master 。 (非常感谢Red Hat的Peter Savage使我意识到gitk 。)

Gitk output

现在,让我们在分支myBranch上创建一个新文件,并观察终端输出。 运行以下命令:


   
   
echo "Creating a newFile on myBranch" > newFile
cat newFile
git status

第一个命令echo ,创建一个名为newFile的文件, cat newFile显示其中写入的内容。 git status告诉您我们分支myBranch的当前状态。 在下面的终端屏幕截图中,Git报告说myBranch上有一个名为newFile的文件,并且newFile当前untracked 。 这意味着尚未告知Git跟踪newFile发生的任何更改。

Terminal output

下一步是将newFile添加,提交并推送到myBranch (有关更多详细信息,请返回本系列的上一篇文章)。


   
   
git add newFile
git commit -m "Adding newFile to myBranch"
git push origin myBranch

在这些命令中, push命令中的分支是myBranch而不是master 。 Git正在使用newFile ,将其推送到GitHub中的Demo存储库,并告诉您它在GitHub上创建了一个新分支,该分支与您的myBranch本地副本相同。 下面的终端屏幕截图详细说明了命令的运行及其输出。

Terminal output

如果您转到GitHub,则可以在分支下拉列表中看到两个分支可供选择。

GitHub

通过单击切换到myBranch ,您可以看到在该分支上添加的文件。

GitHub

现在有两个不同的分支; 一个是master ,有一个文件README.md ,另一个是myBranch ,有两个文件。

现在您知道如何创建分支,让我们创建另一个分支。 输入以下命令:


   
   
git checkout master
git checkout -b myBranch2
touch newFile2
git add newFile2
git commit -m "Adding newFile2 to myBranch2"
git push origin myBranch2

我不会显示此终端输出,因为我想让您自己尝试一下,但是非常欢迎您查看GitHub上存储库

删除分支

由于我们已经添加了两个分支,因此我们使用两步过程删除其中一个分支( myBranch )。

1.删​​除分支的本地副本:由于您无法删除所在分支,因此请通过运行以下终端映像中显示的命令切换到master分支(或您打算保留的另一个分支):

终端步骤1.删除分支的本地副本

git branch列出了可用的分支; checkout更改到master分支,而git branch -D myBranch删除该分支。 再次运行git branch以验证现在只有两个分支(而不是三个)。

2.从GitHub删除分支:通过运行以下命令删除myBranch的远程副本:

 git push origin :myBranch 

Terminal output

冒号( : )的分支名称前push命令告诉GitHub上删除的分支。 另一个选择是:

 git push -d origin myBranch 

因为-d (或--delete )还告诉GitHub删除您的分支。

既然我们已经了解了使用Git分支的知识,那么在本系列的下一篇文章中,我们将研究如何获取和重新设置分支操作。 当您有多个贡献者的项目时,这些是必不可少的知识。

翻译自: https://opensource.com/article/18/5/git-branching

git 批量删除git分支

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值