GIt学习及命令的使用(五)——Git分支操作

一、添加 SSH 关联授权

在每次进行Git push时都会要求输入用户名和密码,如何避免?

1、可以在系统中创建 SSH 公私钥,并将公钥放到 GitHub 指定位置。如此操作即可生成 GitHub 账户对于当前系统中的 Git 授权。
2、终端执行 ssh-keygen命令按几次回车生成公私钥,公私钥存放在主目录(在执行这个命令时会看到公钥存储目录)下的隐藏目录 .ssh 中的两个文件中;
3、然后将 ~/.ssh/id_rsa.pub 文件中的公钥内容复制出来。
4、然后在github网页上添加公钥。
在这里插入图片描述
5、然后在github上进入该项目仓库主界面,选择使用ssh,然后复制这个链接。点击“use SSH”会得到git开头的链接。在这里插入图片描述
6、在实验环境里删除原仓库,使用此链接重新克隆仓库。克隆仓库是需要确认连接,输入 yes 即可
注意!!!!重要的一点:只有使用这种 git 开头的地址克隆仓库,SSH 关联才会起作用。
在这里插入图片描述

二、为 Git 命令设置别名

设置方法:git config --global alias.[别名] [原命令]
在这里插入图片描述
如果忘记了别名,可以使用git config -l命令查看。

三、Git 分支管理
1. git fetch 刷新本地分支信息

git fetch:它的作用是将远程仓库的分支信息拉取到本地仓库,注意,仅仅是更新了本地的远程分支信息,也就是执行 git branch -avv 命令时,查看到的 remotes 开头的行的分支信息。
fetch 命令的作用是刷新保存在本地仓库的远程分支信息,此命令需要联网。

此时若想使本地 master 分支的提交版本为最新,可以执行 git pull命令来拉取远程分支到本地,pull 是拉取远程仓库的数据到本地,需要联网,而由于前面执行过 git fetch 命令,所以也可以执行 git rebase origin/master 命令来实现 “使本地 master 分支基于远程仓库的 master 分支”

2.创建新的本地分支

新的分支来存放不同版次的代码。
团队中,每个人都有各自的分支,在自己的分支上进行修改,然后向 master 分支提 PR(pull request),最后从 master 分支推送到线上。

第一步:克隆远程仓库到本地,进入仓库主目录,执行 git branch -avv 查看分支信息。
在这里插入图片描述
git branch [分支名]可以创建新分支
在这里插入图片描述
git checkout [分支名]切换分支(将当前分支切换到mybranch分支上)
在这里插入图片描述
git checkout -b [分支名] 创建分支并切换到新分支。
在这里插入图片描述

注意:前两行是新建的本地分支信息,它们的版本号与主分支 master 一致,这是因为在哪个分支上创建新分支,新分支的提交记录就与哪个分支一致。新建分支并无跟踪任何远程分支,所以没有 master 分支中的中括号和括号内的蓝色远程分支名。

3.将新分支中的提交推送至远程仓库

例如此时在当前分支 dev 上开发一个新的功能,需要增加一个文件 new_fie.txt,然后生成一个新的提交,正常逻辑当然要推送到远程仓库的同名分支,不过现在远程仓库里只有一个分支,此时,我们可以在github上创建一个新分支,也可以 通过以下操作:
git push [主机名] [本地分支名]:[远程分支名] 即可将本地分支推送到远程仓库的分支中,通常冒号前后的分支名是相同的,如果是相同的,可以省略 :[远程分支名],如果远程分支不存在,会自动创建。
在这里插入图片描述
可以发现:远程分支 origin/dev的信息已经在本地存在,且与本地同名分支一致,github远程仓库中也出现了dev分支:
在这里插入图片描述

4.本地分支跟踪远程分支

如果在之后在本地dev分支提交文件时,不想输入git push origin dev而想直接输入git push时,可按以下方法解决:

git branch -u [主机名/远程分支名] [本地分支名]本地分支与远程分支关联,或者说使本地分支跟踪远程分支。如果是设置当前所在分支跟踪远程分支,最后一个参数本地分支名可以省略不写。
在这里插入图片描述

撤销本地分支对远程分支的跟踪:
执行git branch --unset-upstream [分支名]即可撤销该分支对远程分支的跟踪
在这里插入图片描述
撤销本地分支dev对远程分支dev的跟踪


在推送时就自动跟踪远程分支
在这里插入图片描述(在本地分支devq上上传文件到远程仓库的devq分支,此时本地devq分支自动跟踪远程的devq分支。)
在这里插入图片描述

5. 删除远程分支

删除某个远程分支:
git push [主机名] --delete [远程分支名]
删除多个远程分支:
git push [主机名] --delete [远程分支名] [远程分支名] [远程分支名]
在这里插入图片描述
在这里插入图片描述

6.本地分支的更名与删除
  • 删除本地分支:注意:当前所在的分支不能被删除,必须切换到其他分支后再删除
    git branch -D [分支名]
    在这里插入图片描述
  • 给本地分支改名
    git branch -m [原分支名] [新分支名](若修改当前所在分支的名字,原分支名可以省略不写)
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值