SSH key

https://www.csdn.net/tags/NtzaYgwsNzIwMTAtYmxvZwO0O0OO0O0O.html
https://www.csdn.net/tags/OtTaIgxsNzM3Ny1ibG9n.html
什么是SSH:使用 SSH 协议可以连接远程服务器和服务并向它们验证。 利用 SSH 密钥可以连接 GitHub,而无需在每次访问时提供用户名或密码。

查看SSH

mac:cat ~/.ssh/id_rsa.pub
image.png

配置SSH key

ssh-keygen -t rsa -C “your_email@example.com”
这里的 your_email@example.com 是你自己的邮箱

拿到SSHkey 之后,配置到github中
image.png

git工作流

https://juejin.cn/post/6869519303864123399
image.png

版本库.git:

  • 当我们使用git管理文件时,比如git init时,这个时候,会多一个.git文件,我们把这个文件称之为版本库。
  • .git文件另外一个作用就是它在创建的时候,会自动创建master分支,并且将HEAD指针指向master分支。

    工作区:

    存放项目文件的地方,对应上图的workspace

    暂存区:

    通过add命令将工作区文件放到缓存区的地方,对应上图index

    本地仓库(Respository):

    通过commit命令将暂存区文件放到本地仓库 对应上图Respository
    通常而言,HEAD指针指向的就是master分支

    远程仓库(Remote)

    托管项目的仓库

常见操作

  • 查看本地分支

git branch

  • 查看远程分支

git branch -r

  • 查看本地和远程分支

git branch -a

  • 从当前分支,切换到其他分支

git checkout // 举个例子 git checkout feature/tiantian

  • 创建并切换到新建分支

git checkout -b // 举个例子👇 git checkout -b feature/tiantian

  • 删除分支

git branch -d // 举个例子👇 git branch -d feature/tiantian

  • 当前分支与指定分支合并

git merge // 举个例子👇 git merge feature/tiantian

  • 查看哪些分支已经合并到当前分支

git branch —merged

  • 查看哪些分支没有合并到当前分支

git branch —no-merged

  • 查看各个分支最后一个提交对象的信息

git branch -v

  • 删除远程分支

git push origin -d

  • 重命名分支

git branch -m

  • 拉取远程分支并创建本地分支

git checkout -b 本地分支名x origin/远程分支名x

  • 创建远程分支

git push origin xxx (xxx为提前创建了本地分支)

  • 删除远程分支

git push origin —delete xxx ( xxx为删除的远程分支名)

本地与远程建立映射关系

建立本地分支与远程分支的映射关系(或者为跟踪关系track)。
这样使用git pull或者git push时就不必每次都要指定从远程的哪个分支拉取合并和推送到远程的哪个分支了。
git branch -vv
输出:
image.png
上面的本地分支和远程分支都有映射关系,如果没有,就需要手动建立:
git branch -u origin/分支名,
或者
git branch —set-upstream-to origin/分支名
origin 为git地址的标志,可以建立当前分支与远程分支的映射关系。
撤销本地分支与远程分支的映射关系
git branch —unset-upstream
之后可以再次用git branch -vv 查看本地分支和远程分支映射关系