文章目录
概述
以前只知道在GitHub上下一些代码,然后在本地进行参考学习,由于最近写代码的过程中遇到了总是要频繁修改版本的情况,才开始决定了解学习一下可用于版本管理的GitHub与Git,以下为学习过程的一点笔记。
Github是一个面向软件的托管平台,什么时候会用到它?
- 想要造轮子或者复现论文的时候,先去github上看看别人有没有做过以及别人是怎么做的,毕竟代码公开,在遵循开源协议的前提下,可以copy下来用的。
- 几个小伙伴合作开发小软件小项目的时候,放到github上来实现合作开发,相当于在云上的代码仓库(公有仓库免费,私有收费),还免费,省去了单独建设仓库服务器的成本,还有自己搭建物理主机服务器的麻烦。
Git quick start
Git是用来实现代码版本历史管理的工具,git的使用有助于整个团队开发的管理。
-
设置自己的名字以及邮箱:
python $ git config --global user.name "Your Name" $ git config --global user.email "xxxx@163.com"
- "Your Name": 名字 - "xxxx@163.com": 邮箱
-
使用Git:
-
git init
初始化一个本地仓库 -
将文件内的helloWorld.txt先放到仓库缓存区,再正式提交到仓库。
其中git add helloWorld.txt
的意思是将文件添加到仓库的缓存区(add可多次),而git commit -m "添加了helloWorld.txt"
则是将其正式提交到仓库,而"添加了helloWorld.txt"则是告诉对这次更改的描述(commit一次性全提交了)。 - 回退版本: -git log
查看版本的情况:- **回撤回从前的某一版本:** ``` git reset --hard HEAD^ ``` `HEAD^`表示上一版本,`HEAD^^`表示上两个版本,几个`^`符号表示往上几个版本,当版本过多的时候,比如回退1000个版本的时候写成`HEAD~1000`即可。 - **恢复到新版本:** 首先利用`git reflog`找到新版本的commit id,然后`git reset --hard commitId`即可,Id写前几位即可(能找到唯一的版本即可)。
会了Git后,我该怎么使用GitHub?
首先得去GitHub上注册个账号。
添加SSH Key,证明你是你
如果你想要提交一份代码到GitHub上去,那么GitHub需要知道是你而不是张三李四提交的,这就需要明确你是你,而已知Git支持SSH协议,因此可以通过公钥来知道你是你。
ssh-keygen -t rsa -C "XXX@163.com"
创建SSH Key, 双引号内为自己的邮箱地址,一路回车下去,然后可以在主目录中找到.ssh目录,里面有两个文件,如下图所示,其中公钥可以告诉别人,私钥不行:
将公钥的内容复制。
登录我的github,然后依次"Account settings" — “SSH Keys and GPG keys” — “New SSH Key” 填上自定义的title,并在Key文本框内粘贴公钥中的内容即可。
添加后的Key为:
创建仓库
创建仓库,然后自己填一些这个项目的信息。
将本地仓库和GitHub仓库进行相互的关联
1. 本地仓库 —> GitHub仓库
本地已有的和远程仓库同名的仓库可以进行关联,比如:
git remote add origin git@github.com:flow-specter/0529_testGit.git
git push -u origin master
即可将同名的本地仓库内容推送上去。
注意,如果出现以下报错:
可通过git remote rm origin
删除origin后,再用GitHub建议的命令git remote add origin git@github.com:flow-specter/0529_testGit.git
, git push -u origin master
即可。
2. GitHub仓库 —> 本地仓库
刚开始开发时建议首先创建远程库,再利用Git clone
从远程库克隆。
GitHub上的库会有其地址,可以被用来克隆,比如:
git clone git@github.com:flow-specter/fucking-algorithm.git
常用命令
git ckeckout .
直接刪除所有改動。
参考链接
报错1: personal acess token
git clone报错 Access denied remote: You must use a personal access token with ‘read_repository‘
参考链接:https://blog.csdn.net/weixin_43316124/article/details/122085550
核心: settings -> Acess Tokens
可以得到一个new personal access token,这个就可以用作git clone 时候的密码。