Git以及github使用

Git用来做分布式版本控制,简单点说就是文件历史的一个管理工具;github是世界上最大的软件远程仓库,是一个面向开源和私有软件项目的托管平台。主要的区别就是Git是一个本地仓库,而github是一个远程仓库,你可以共享自己的代码、能很好的进行团队开发、或者学习别人的代码等等。

Git使用

1、首先去 官网下载对应自己电脑Git版本

2、windows和Mac下载完成之后直接安装进行相关配置,自行选择合适的存储位置,其它的可以不用设置,可以一直next,过程比较简单。
使用linux或者Unix的小伙伴打开终端,在终端输入

sudo apt-get install git

然后输入密码即可安装

3、安装完成之后需要进行Git设置,windows打开GitBash,macos和linux用户打开终端,这里设置的是自己的名称和邮箱,名称方便别人辨认是谁提交的数据,方便辨认。

$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"

将you name换成你自己的名字,your email换成你自己的邮箱
接下来你就可以使用你的Git了!!

4、这里打开电脑终端,进入一个你要记录文件更改的文件夹,这里我创建了一个example文件夹,然后输入

git init

初始化你的文件夹,然后这个文件夹以后的更改就会被记录了,如果文件夹里面没有内容的话会提示 Initialized empty Git repository in D:/Git/example/.git/

手动创建一个hello.txt文件,里面存放内容为

print("Hello Git!")

现在就可以把这个文件夹放进仓库里面了
首先,输入git add命令把文件添加至仓库缓存区

git add hello.txt

若无任何提示表明添加成功
然后,使用git commit把缓存区的文件提交到仓库

git commit -m "我提交了hello.txt"

其中 -m 和后面引号内容是本次提交的说明,也就是描述你每次改了什么
-m后面的内容能是他人更加容易阅读,也让自己更加快捷的看清楚每一步提交了什么东西

[master (root-commit) 505b7f5] 我提交了hello.txt
 1 file changed, 1 insertion(+)
 create mode 100644 hello.txt

这就表明你已经提交成功了,1 file changed表明一个问件被改动,也就是当前所提交了hello.txt,1 insertion表明里面有一行内容

你也可以使用add同时加入多个文件,然后一次提交

git add hello2.txt
git add hello3.txt
git commit -m "提交了两个文件"

或者

git add hello2.txt hello3.txt
git commit -m "提交了两个文件"

add是将文件放入缓冲区,commit才是提交至仓库

[master 9db4b72] 提交了两个文件
 2 files changed, 2 insertions(+)
 create mode 100644 hello2.txt
 create mode 100644 hello3.txt

5、开始说到Git是文件历史的一个管理工具,也就是我能够回到之前的历史记录。好比如现在我将之前的hello.txt的内容更改一下

print("Hello Git!!")
print("Hello World!!")

按照上面的步骤提交hello.txt,出现如下提示信息

[master 0076f57] 我在hello里面添加了一行内容
1 file changed, 2 insertions(+), 1 deletion(-)

现在如果我们需要前一个版本的hello就可以通过Git实现,首先git log查看一下版本信息

commit fab757c5e130d0f06cfd43ee86caf9fe5f27d725 (HEAD -> master)
Author: Qiang-Young <2845290850@qq.com>
Date:   Tue Apr 13 21:56:48 2021 +0800

    我在hello里面添加了一行内容

commit 505b7f5a313a74a7340e2f5a26135cbb47e530a0
Author: Qiang-Young <2845290850@qq.com>
Date:   Tue Apr 13 13:44:35 2021 +0800

    我提交了hello.txt

最新的提交会出现在最上面,这里的Author就是你的用户名和邮箱,以及更改时间,这里的commit是版本号,这个commit id是我们找回当时版本的唯一凭据。如果我们要回到以前的版本就可以通过git reset命令,可以使用

git reset --hard HEAD^

Git中使用HEAD表示当前版本,HEAD^ 表示上一个版本,HEAD^^ 表示上上一个版本,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。现在用git log查看版本信息

commit 505b7f5a313a74a7340e2f5a26135cbb47e530a0 (HEAD -> master)
Author: Qiang-Young <2845290850@qq.com>
Date:   Tue Apr 13 13:44:35 2021 +0800

    我提交了hello.txt

回到了最初的版本,当然txt里面的信息也发生了变化,变成了

print("Hello Git!!")

我们还可以通过之前的commit的信息又恢复为最新的版本

git reset --hard  fab757c5

版本号没必要写全,前几位就可以了,Git会自动去找,也不能写的太少,这样会容易找到多个。现在就会看见txt又恢复到了两行信息

print("Hello Git!!")
print("Hello World!!")

当你忘掉了你的版本的commit时,可以通过git reflog查询,它用来记录你的每一次命令

D:\Git\example>git reflog
fab757c (HEAD -> master) HEAD@{0}: reset: moving to fab757c5
505b7f5 HEAD@{1}: reset: moving to HEAD^
fab757c (HEAD -> master) HEAD@{2}: commit: 我在hello里面添加了一行内容

至此Git的简单使用就差不多了

Github使用

1、进入github官网注册账号

2、第二步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

ssh-keygen -t rsa -C "your email"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
打开id_rsa.pub,复制里面的内容。
然后登陆你的GitHub,打开右上角“settings”

在里面找到“SSH Keys and GPG keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容即可
GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到(但只有你自己才能改)。所以,不要把敏感信息放进去。

3、现在你就可以创建一个仓库了,点击右上角的repositories,进入之后New一个新仓库就可以了
在这里插入图片描述
然后进入你新建的仓库主页
在这里插入图片描述
这里有两种方式关联本地仓库,一是把本地已有的同名Git仓库和GitHub上的仓库关联起来,二就是直接将Github的仓库克隆到本地

4、关联本地仓库
在本地创建一个example文件夹,然后初始化文件夹,设置为Git仓库

git init

在本地仓库提交一个hello.txt文件

git add hello.txt
git commit -m "我提交了hello.txt"

然后将本地仓库与远程仓库连接起来

git remote add origin git@github.com:Qiang-Young/example.git

输入的后面部分可以直接去你的仓库复制在这里插入图片描述
然后把本地仓库内容推送到远程库当中

git push -u origin master

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。在我的仓库里面就可以看见本地仓库推送的内容
在这里插入图片描述

然后git add和git commit就可以正常使用了

git push origin master

5、直接克隆远程仓库,打开终端进入存放克隆仓库的文件夹,使用命令git clone

git clone git@github.com:Qiang-Young/example.git

后面的内容与前面一样,是你的仓库地址。当然你也可以克隆其它人的仓库。在你克隆的仓库里面还是可以使用git add和git commit,提交到本地之后使用git push就能推送到远程仓库了

6、可以在你的仓库界面中setting里面删除你的仓库。在你的仓库中当然也可以直接导入你电脑当中的文件
在这里插入图片描述
在这里插入图片描述
以上就是Git以及Github的大致使用教程啦

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值