Git学习(一)

Git 和 GitHub的区别

Git
(读音为/gɪt/。),是目前世界上最先进的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

git的作用:更好的管理你的程序,通过git这个工具,可以把原来提交的内容重现出来,有利于修改后面才意识到的错误修改。

Git管理的是修改,而不是文件

GitHub
gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。

就像是程序员交流的网站,很多技术大牛和公司在github上公布开源的代码。

Git的学习

经身边朋友推荐,参考了廖雪峰老师的git教程

那接下来就记录一些过程和遇见的小错误吧
安装

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

疑问:这个分布式是对我电脑这个机器来说的吗?因为我试了几个名字都可以,邮箱不存在的也可以?只是标签吗?

安装好后,在开始->git->git bash里打开。

创建版本库

git的管理模式:
在这里插入图片描述

所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等

建议使用NodePad++代替windows自带的记事本。

在某目录下创建一个空目录:

mkdir 目录名

进入该目录,使用:

git init

将其变成一个可以管理的仓库
然后将你想存入的文件放到git仓库:

 git add 文件1 文件2...#把工作区的文件放入版本库中的暂存区
 git commit -m “本次提交的说明”#把版本库暂存区的文件提交到版本库的分支

可以一次add多个文件,然后commit1次。

时光机git的回退

你不断对文件进行修改,然后不断提交修改到版本库里,就好比玩RPG游戏时,每通过一关就会自动把游戏状态存盘,如果某一关没过去,你还可以选择读取前一关的状态。

命令:

git log

可以查看你的保存记录
这时会打印出作者(名字和email)、提交时间、以及提交时git commit -m “ ”时输入的提交说明,所以记录一段要写好哦。
(-m参数后双引号描述)

如果想输出简洁点(并且输出的前7位是每次“存档”的版本号),那就输:

git log --pretty=oneline

HEAD->master所在行表示当前版本。HEAD是一个指针,事实上回退就是改变此指针的指向。

回退到当前版本的前一个版本:

git reset --hard HEAD^

或者使用版本号进行回退/前进

git reset --hard 版本号(0x7位)

如果回退之后后悔了,想回来,就只能使用版本号(前进),但git log只能显示在当前HEAD指针之前的版本,使用命令:

git reflog

可以看到曾经操作过的修改HEAD行为(版本号),就可以获取版本号了。啊~后悔药咯

查看工作区和版本库内某文件的区别:

git diff HEAD -- 某文件

64位的git:
撤销工作区的修改/删除(回到暂存区||上一个commit的原版本):

git restore 文件#这里和教程不一样

撤销暂存区的修改(直接消失)

git restore --stage 文件#这里和教程不一样

对文件的删除

rm 文件#在工作区删除
git rm 文件 #工作区删除并更新到暂存区,但是还没有-m到分支

以上应该就是git的基本操作啦
要开始学习远程库了,我要进入github世界咯,耶~

关于github ssh的配置:https://blog.csdn.net/u013778905/article/details/83501204]

我的github账号:Amber-gzl(现在还是空的啊19/10/17)

你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的

1、所以需要先创建SSH Key,在git bash里键入:

ssh-keygen -t rsa -C "youremail@example.com"

"youremail@example.com"是自己的邮箱。

2、登录github添加ssh key
在setting里:
在自己的github账号添加SSHkey
添加sshkey

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

然后在Github上创建一个空仓库
your repository->new->填名字(设置其他值…)->create repository
在Github上创建一个仓库与本地对应
我就有一个远程仓库啦,撒花~

把本地仓库和远程github仓库连起来:

git remote add 远程库名(Git默认origin) git@github.com:github 账户名/本地仓库(目录)名.git

将本地仓库的内容push到远程仓库上:

git push -u 远程库名(origin) 分支名(master)

-u参数:不但会把本地的分支master分支内容推送到远程新的master分支,还会把本地master分支和远程的master分支关联起来。所以第一次推送某新分支时,记得加-u参数,此后再推送此分支内容时就不需要加-u了。

本机Git第一次使用SSH连接时会有一个警告,让你确认是否将gihub和本币git连接起来,放入信任列表,键入yes就可以啦。

将远程仓库的内容克隆到本地仓库

git clone git@github.com:github用户名/仓库名.git#使用ssh,速度快
git clone 网址(https://......#速度慢,需要口令
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值