一、github准备
1.注册github账号
按照提示进行注册
2.查看git版本
由于macOS默认安装了git
在终端输入
git -v
3.设置username和email
username随便输入一个,email是github绑定的邮箱地址
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
git config --global user.name "qyqyqyi"
git config --global user.email "[email protected]"
生成ssh公钥
- 打开终端,输入
ssh-keygen -t rsa -C "[email protected]"
注:"xxxxx@xxx.com"的内容为github绑定的邮箱
按照提示即可生成ssh公钥文件,路径为/Users/qianying/.ssh/id_rsa.pub
注:这里一直回车,即默认没有密码,下一步验证是否绑定成功的时候就不需要输入密码了
打开文件并复制内容
配置ssh密钥
- 将鼠标移动至右上角,点击【settings】
- 点击【SSH and GPG keys】->【New SSH key】
- 将刚刚复制的公钥粘贴进去
4.验证git绑定成功
- 在终端输入
ssh -T [email protected]
- 直接按回车的话,会显示:Host key verification failed.
- 这里需要输入yes,如果之前生成公钥时设置了密码,这里再输入一下密码
二、github的使用
首先,Git的数据库分为远程数据库和本地数据库的两种。
远程数据库: 配有专用的服务器,为了多人共享而建立的数据库。
本地数据库: 为了方便用户个人使用,在自己的机器上配置的数据库。
1.本地数据库
1.1创建本地数据库
- 第一步,在本地创建一个空的目录
mkdir learngit
cd learngit
pwd
- 第二步,通过git init命令把这个目录变成Git可以管理的仓库
1.2添加文件至索引
第一步,创建一个文件sample.txt,随便输入一些内容,保存
第二步,使用status命令确认工作树和索引的状态
git status
从结果我们可以看到‘sample.txt’目前不是历史记录对象。
第三步,使用add命令将sample.txt加入到到索引,就可以跟踪它的变更了
git add sample.txt
git status
1.3提交文件至本地数据库
git commit -m "xxx"
-m后面的引号里的内容是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
现在使用命令commit将sample.txt文件提交到本地数据库
- 使用log命令,我们可以在数据库的提交记录看到新的提交。
git log
2.共享数据库
- 此时,我们已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作。
2.1创建共享数据库(远程库)
- 第一步,登陆github,点击左上角的【create repository】或者右上角的【加号】->【New repository】来创建一个新的仓库
- 输入仓库名字,创建仓库
- 创建成功,提示告诉我们可以创建一个新的仓库,或者将已有的仓库推送到共享数据库上。这里,我们将已有的本地仓库推送到github上的仓库。
git remote add origin https://github.com/qyqyqyi/learngit.gitgit branch -M maingit push -u origin main
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的
branch命令创建一个名字为main的分支
然后使用push命令将本地的main分支推送到GitHub上,可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用git push,即将本地的main分支与GitHub上新的main分支相关联。
结果显示:2021年8月13日移除对密码认证的支持。请改用个人访问令牌。
获取个人访问令牌过程详见2.3
获取个人令牌后,将个人令牌代替密码输入,成功。
- 推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样
- 从现在起只要本地提交了,就可以同构下面的命令将本地最新main分支推送至GitHub。
git push origin main
2.2删除共享数据库(远程库)
- 如果添加的时候,地址写错了,就可以使用git remote rm 命令。使用前,建议先用git remote -v查看远程库信息:
- 然后,根据名字删除,比如删除origin
git remote rm origin
- 注意:这里的删除只是断开了本地和github之间的连接,并没有真正的删除GitHub上的库。如果想要真正的删除,需要登录GitHub,进行删除。
2.3个人访问令牌获取步骤
1.点击右上角->【settings】
2.在左下角找到【develop settings】
注:GitHub支持两种个人访问令牌:
第一种是fine-grained personal access token,即细粒度个人访问令牌
第二种是personal access token (classic),即个人访问令牌(分类化)
GitHub建议我们使用第一种,和第二种对比,它有许多优点,这里不再赘述,可以去官网查看。
3.点击【 Personal access tokens】->【Fine-grained tokens】->【Generate new token】
填写Token name、Expiration、Resource owner资源所有者
Repository access仓库访问权限根据需求选择,这里选择的是第二种,即这适用于资源所有者拥有的所有当前和未来存储库。还包括公共存储库(只读)。
- 根据需求进行选择权限(这里我也不是很懂,所以先全选了,之后再研究),最后点击创建令牌。
- 使用token替换 push命令中的密码即可(token自己保存,刷新后就没了)
三、总结
首先做好了使用github的准备工作:1.注册github账号2.查看git命令版本3.设置username和email4.生成ssh公钥5.配置ssh密钥6.验证git绑定成功
我们先创建本地库,再创建远程库,最后关联远程库。
touch xxx.txt //新建一个txt文件
git init //初始化本地仓库
git add xxx.txt //添加刚刚创建的README文档
git commit -m “注释" //提交到本地仓库,并写一些注释
git remote add origin https://github.com/yourname/xxxx.git //连接远程仓库并建了一个名叫:origin的别名,yourname记得替换成你的用户名,XXXX为你的版本库的名字
git branch -M main //创建一个分支名叫main的分支
git push -u origin main //将本地仓库的文件提交到别名为origin的地址的main分支下,-u为第一次提交,需要创建main分支,之后push时就不需要-u选项了
git push origin main // 将本地仓库合并到别名为origin地址的main分支下
版权归原作者 qyqyqyi 所有, 如有侵权,请联系我们删除。