欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Github与Git学习笔记

程序员文章站 2022-05-16 18:21:04
...

Github与Git

以前只知道在GitHub上下一些代码,然后在本地进行参考学习,由于最近写代码的过程中遇到了总是要频繁修改版本的情况,才开始决定了解学习一下可用于版本管理的GitHub与Git,以下为学习过程的一点笔记。

为什么要用到Github?

Github是一个面向软件的托管平台,什么时候会用到它?

  • 想要造*或者复现论文的时候,先去github上看看别人有没有做过以及别人是怎么做的,毕竟代码公开,在遵循开源协议的前提下,可以copy下来用的。
  • 几个小伙伴合作开发小软件小项目的时候,放到github上来实现合作开发,相当于在云上的代码仓库(公有仓库免费,私有收费),还免费,省去了单独建设仓库服务器的成本,还有自己搭建物理主机服务器的麻烦。

要用Github,我需要会点什么?

需要会Git

  • 那么什么是Git?

    • 是用来实现代码版本历史管理的工具
  • 为什么要会Git 或者说 Git有什么用?

    • 讲个设计师的段子,金主爸爸要你改第一版,第二版,第三版,第n版, 你通宵改了后,他说,还是第一版的好,改回来吧。如果这个时候你没有留存第一版的话,就会很麻烦。代码也是一样,老板要你改第一版,第二版,第n版,最后或许还是要某一版(可能因为新的版本不稳定之类的问题),就需要你留存下来某一版的历史记录,这就需要Git的帮助,即需要Git来做版本控制
    • 几个小伙伴一起开发东西,各自将各自的代码传到服务器上,然后有需要时候下载其他人的代码进行修改,修改后再传上去,这就需要Git记录谁,什么时候,下载了什么东西,改了什么内容,这将有助于整个团队开发的管理
  • 怎么用Git?

      1. 下载安装window下载地址

        Github与Git学习笔记

        剩下的我就是几乎一路默认下来。。。

        打开后的界面大概是这样:
        Github与Git学习笔记

      1. 设置自己的名字以及邮箱:
        Github与Git学习笔记

        $ git config --global user.name "Your Name"
        $ git config --global user.email "aaa@qq.com"
        
        • “Your Name”: 名字
        • “aaa@qq.com”: 邮箱
      1. 使用Git:

        • 建库&提交:
        1. 进入待管理的文件夹:

          Github与Git学习笔记
          文件夹内情况为:

          Github与Git学习笔记

        2. git init 初始化一个本地仓库
          [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E3YXuX1K-1590822124398)(Git与Github.assets/1590764130780.png)]

        3. 将文件内的helloWorld.txt先放到仓库缓存区,再正式提交到仓库。

          Github与Git学习笔记

          其中git add helloWorld.txt的意思是将文件添加到仓库的缓存区(add可多次),而git commit -m "添加了helloWorld.txt"则是将其正式提交到仓库,而"添加了helloWorld.txt"则是告诉对这次更改的描述(commit一次性全提交了)。

        • 回退版本:

          • git log 查看版本的情况:
            Github与Git学习笔记
            第一行是commit id,可认为其是版本号。蓝色的HEAD表示是当前版本。
            第二行是作者,包括我的名字以及邮箱。
            第三行是修改时间。

          • 回撤回从前的某一版本:

            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-****** -t rsa -C "aaa@qq.com"创建SSH Key, 双引号内为自己的邮箱地址,一路回车下去,然后可以在主目录中找到.ssh目录,里面有两个文件,如下图所示,其中公钥可以告诉别人,私钥不行:
Github与Git学习笔记

将公钥的内容复制。

登录我的github,然后依次"Account settings" — “SSH Keys and GPG keys” — “New SSH Key” 填上自定义的title,并在Key文本框内粘贴公钥中的内容即可。
Github与Git学习笔记

Github与Git学习笔记

添加后的Key为:
Github与Git学习笔记

创建仓库

创建仓库,然后自己填一些这个项目的信息。

Github与Git学习笔记

将本地仓库和GitHub仓库进行相互的关联

1. 本地仓库 —> GitHub仓库

本地已有的和远程仓库同名的仓库可以进行关联,比如:
Github与Git学习笔记

git remote add origin aaa@qq.com.com:flow-specter/0529_testGit.git
git push -u origin master

即可将同名的本地仓库内容推送上去。

注意,如果出现以下报错:

Github与Git学习笔记

可通过git remote rm origin删除origin后,再用GitHub建议的命令git remote add origin aaa@qq.com:flow-specter/0529_testGit.git , git push -u origin master即可。

2. GitHub仓库 —> 本地仓库

刚开始开发时建议首先创建远程库,再利用Git clone从远程库克隆。

GitHub上的库会有其地址,可以被用来克隆,比如:

git clone aaa@qq.com:flow-specter/fucking-algorithm.git

参考链接

简书 Git和Github使用教程

简书 git上传代码至github以及错误集锦

相关标签: 科研