1. git工作流程图
git工作流程简述:
当你在ide中书写代码时,你的代码会被保存到本地的文件夹中,这个文件夹被称为工作区。工作区的内容将会通过git add命令添加到缓存区(这个步骤称作staged)。进入缓存区的代码通过git commit的方式被提交到本地仓库中。【⚠️】进入本地仓库的代码,如果对其进行更改(删减),此类历史记录会被git追踪。最后,本地仓库的代码可以通过git push推送到远程(remote)仓库中。
2. git和github的区别:
Git :是一个免费开源分布式版本控制系统,由于其占用空间小、性能快,优于其他SCM工具(SVN、CVS等),主要用于代码版本管理。 GitHub :是一个基于Git搭建的一个免费版本远程控制仓库(开源项目集中地),任何人都可以上传或下载平台上的开源项目。
简而言之:git是版本控制系统;github是远程托管的网站
3. github新建仓库
1)进入github官网:https://github.com/,注册账号
2)点new👉填入repository name👉description加入简短描述
4. 通过command line从本地推送代码到远程仓库
【声明】
以下操作全部是在mac 终端中进行,windows中可以用git gui进行操作。
1)打开mac终端,进入你推送代码的本地文件夹
具体实现方式:cd +你的文件所在路径
2)配置ssh文件
简要介绍:本地生成公钥,将本地公钥配置到远程github,这个公钥相当于本地和远程github的链接桥梁。没有ssh公钥,remote和本地repository无法互相识别!
2-1)本地配置
git 支持https和git(即ssh)两种方式下载/上传源码:
首先检查用户名和邮箱是否配置:
$ git config --global --list
如未配置,则执行以下命令进行配置:
$ git config --global user.name "这里换上你的用户名"
$ git config --global user.email "这里换上你的邮箱"
然后执行以下命令生成秘钥:
$ ssh-keygen -t rsa -C "这里换上你的邮箱"
执行命令后需要进行3次或4次确认:
1.确认秘钥的保存路径(如果不需要改路径则直接回车);
2.如果上一步置顶的保存路径下已经有秘钥文件,则需要确认是否覆盖(如果之前的秘钥不再需要则直接回车覆盖,如需要则手动拷贝到其他目录后再覆盖);
3.创建密码(如果不需要密码则直接回车);
4.确认密码如果不需要密码则直接回车);
在指定的保存路径下会生成2个名为id_rsa和id_rsa.pub的文件:
(2)添加公钥到你的远程仓库(github)
再打开你的github,进入配置页: Settings -- SSH and GPG keys
添加本地生成的ssh秘钥,选择New SSH key(这里已经配置了一个key,如果是未配置秘钥的用户,这里是空的):
然后用文本工具打开之前生成的id_rsa.pub文件(【注】打开方式:在终端输入cd ~/.ssh👉ls👉 查看公钥:cat id_rsa.pub ,把公钥内容拷贝到key下面的输入框,并为这个key定义一个名称(通常用来区分不同主机),然后保存。
(3)测试是否配置成功
【参考链接】设置 SSH 密钥并将其添加到你在 GitHub.com 上的帐户后,可以测试连接。
用ssh链接git:ssh -T git@github.com
如果出现如下提示,说明配置成功:Hi username! You've successfully authenticated, but GitHub does not provide shell access.
配置成功之后,就可以开始push代码啦!
终端进入本地仓库,输入下面的command line进行代码推送:
git init
git add README.md
git commit -m "备注"
git branch -M main
git remote add origin git@github.com:xxxx(填入你的ssh链接)/testing.git
git push -u origin main
【常见问题】
1. git@github.com:Permissiondenied(publickey).Could not readfromremote repository.Please make sure you have the correct access rights and the repository exists.
常见原因:
· 客户端与服务端未生成 ssh key
· 客户端与服务端的ssh key不匹配
第二种情况的解决方案:
解决git@github.com: Permission denied (publickey). Could not read from remote repository.
2. 当使用git方式下载时,如果没有配置过ssh key,则会有如下错误提示:
解决方案:参考👆的问题解决方案,重新配置ssh即可
作者:Stargazes
链接:https://www.jianshu.com/p/dd3be8cb5b90
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。