[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fTbu_6Yko4u7PI1QBieGbZwYLA-wGVtaX0_Y5csSbmJo":3},{"code":4,"message":5,"data":6},200,"成功",{"id":7,"createdAt":8,"title":9,"content":10,"summary":11,"image":12,"uid":13,"user":14,"categoryId":21,"category":22,"subCategoryId":24,"subCategory":25,"comments":27,"status":17,"reason":28,"notice":28,"visitCount":29,"commentCount":30,"keywords":31},4,"2024-01-07T07:14:45.659Z","git和SSH keys associated with your account","### 一、简介\ngit操作基本上是每个程序员必备技能。\n不知道svn情有可原，但不知道github、gitlab等git平台的程序员绝对不是一个合格的程序员。\n今天简单的列出github的ssh生成和操作步骤，供大家复制粘贴使用（如果有程序员没有安装zsh这样的终端，就不易从历史命令中找到命令，那么每次都需要手动重新敲命令）\n\n### 二、常见git操作和解释\n对于常见的git仓库操作命令，无非以下几种：\n1.git init  // 实例化git仓库\n2.git branch // 分支查看或者在当前提交状态下生成新分支\n3.git clone // 克隆一个git仓库\n4.git fetch // 从一个git仓库下载文件和引用\n5.git pull // 从仓库拉取更新\n6.git add // 将改动暂存\n7.git commit // 写提交信息\n8.git push // 推送改动到git仓库\n\n上面的基本操作，在日常使用中，基本够用。再复杂点的git操作也就是分支的操作上，比如：\n1.git diff  // 在提交之间或者工作区中，显示修改了哪些代码\n2.git checkout // 切换分支\n3.git merge // 分支合并操作\n4.git cherry-pick // 将其他提交commit，应用到当前分支\n5.git rebase // 将提交置于其他分支的最上面，所谓变基\n6.git reset // 重置提交，将当前分支回退到某一次的历史提交，慎用\n7.git revert // 回退某次提交，即取消某次commit，并生成一条回退提交记录\n8.git stash // 暂存当前的修改，可以用git stash apply将暂存列表的某一条记录恢复\n9.git tag add // 添加标签\n10.git commit amend // 修改未push的commit信息\n\n### 三、鉴权问题\n那么我们常常在终端操作的时候，当执行git操作，git仓库的鉴权就会用到ssh。没有私钥文件，那么访问就会被deny掉。如下：\n![](https://image.xinwei.ltd/image_11704611382739.png)\n\n那么通常我们需要生成一对公钥和私钥，将公钥存放在git平台，然后本地存储了私钥，用于git仓库鉴权。\n\ngithub上的ssh设置在profile->setting中：\n![](https://image.xinwei.ltd/image_21704611395421.png)\n\n\ngithub平台也提示了让你去生成公钥私钥的文档：[github ssh生成文档](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)\n\n### 四、具体操作\n那么简单的操作如下：\n1.本地生成公钥私钥（生成的文件一般在终端所在的当前文件夹，所有需要终端cd到ssh文件夹中）：\n```language\ncd ~/.ssh\n```\n\n![](https://image.xinwei.ltd/image_31704611449553.png)\n\n2. 使用Mac电脑自带的ssh命令即可：\n```language\nssh-keygen -t rsa -b 4096 -C \"xxx\" // xxx是你的邮箱\n```\n\n![](https://image.xinwei.ltd/image_41704611457879.png)\n\n这样子就会在ssh文件下生成了2个密钥文件，公钥以.pub为扩展名\n3. 将私钥添加到ssh中\n```language\nssh-add xxx // xxx为你的私钥文件名\n```\n![](https://image.xinwei.ltd/image_51704611525216.png)\n\n\n4. 查看公钥内容，并拷贝粘贴到github的 new ssh key处\n```language\ncat  // 你的公钥全名\n```\n![](https://image.xinwei.ltd/image_61704611546404.png)\n![](https://image.xinwei.ltd/image_71704611638838.png)\n\n\n\n5. 本地测试是否被github鉴权成功！成功完事。\n```language\nssh -T git@github.com\n```\n![](https://image.xinwei.ltd/image_81704611659272.png)\n\n\n6. 接下来就可以正常的git仓库操作了！\n","一、简介 git操作基本上是每个程序员必备技能。 不知道svn情有可原，但不知道github、gitlab等git平台的程序员绝对不是一个合格的程序员。 今天简单的列出github的ssh生成和操作步骤，供大家复制粘贴使用（如果有程序员没有安装zsh这样的终端，就不易从历史命令中找到命令，那么每次都需要手动重新敲命令） 二、常见git操作和解释 对于常见的git仓库操作命令，无非以下几种： 1.g","https://image.xinwei.ltd/image_11704611382739.png",499668042977349,{"phone":15,"userId":13,"nickName":16,"vipType":17,"avatar":18,"sign":19,"createdAt":20},"13121171998","全栈老韩",1,"https://image.xinwei.ltd/images/IMG_5430.JPG","全栈工程师，擅长iOS App开发、前端（vue、react、nuxt、小程序&Taro）开发、Flutter、React Native、后端（midwayjs、golang、express、koa）开发、docker容器、seo优化等。","2024-01-01T16:14:30.305Z",2,{"id":21,"name":23},"IT技术",31,{"id":24,"name":26,"parentId":21},"git&svn",[],"",81,0,"git,ssh,git技能,ssh keys,git操作"]