Git学习笔记(二)

分布式版本控制系统Git学习笔记,建议学习之前先了解一下常见linux命令。
学习教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
参考资料:http://lib.youkuaiyun.com/base/git

版本控制

一、原理和概念

工作区: 电脑中能看到的目录,你git init 的目录,在这里对文件进行修改。
版本库: 工作区下有一个隐藏的.git目录,因为它藏着所以并不属于工作区。它用于保存记录版本。
暂存区(stage): 存放于版本库下的index文件中,用于暂存git add了的修改。

工作区、暂存区和版本库

在git中,git记录每次版本的修改,并将这些修改串成一条时间线,为每次提交的修改生成一个版本号(一个很大的十六进制数)。然后我们就可以通过这个版本号来进行版本控制了。我们可以通过使用命令git log来查看这个提交修改的时间线。

版本历史
git log --pretty=oneline查看精简的记录。

git中,有一个HEAD指针,指向git当前记录的版本。

HEAD
要找到对应的版本,除了使用生成的版本号,还可以使用HEAD来找到某个版本,比如

HEAD     当前版本
HEAD^    上一版本
HEAD^^   上上版本
HEAD~100 上100版本

二、查看与提交修改

当我们对工作区中内容进行了修改以后,需要提交修改让git帮我们保存。
使用git status查看仓库当前状态,它会告诉我们那些文件做出了修改,又没有提交等。
如果要查看某个文件修改了哪些内容,使用命令git diff <file ...>
当你确定了这次修改以后,使用git add <file ...>将修改保存到暂存区。使用git commit -m <msg>提交修改。

三、撤回修改&版本回退

当我们做出了某个让人后悔的修改以后,就会需要撤销这次修改,或者回退到之前的版本。
当我们想恢复到之前的某个版本时就需要版本回退。前面说过,可以使用git log查看提交的历史版本记录,通过这个版本记录可以知道某个版本的版本号,或者依据HEAD指针,定位版本。如果我们要回退到这个版本,则可以使用命令git reset --hard <版本号|HEAD指针定位>使当前版本回退到之前的版本。

注意: 版本号不需全部输入,足够区分修改的位数足矣

如果你要撤回还未保存到暂存区的某个文件的修改,可以使用命令git checkout -- <file ...>
如果要撤回已经保存到暂存区的修改,则需要使用命令git reset HEAD <file ...>,同时也会撤销未保存到暂存区的修改。

四、要是想恢复回退之前的版本呢?(就你事多)

命令git reflog可以查看历史操作记录,你可以从中找到回退之前的版本号,然后再使用git reset --hard <版本号>就可以回到之前的修改啦。

远程仓库

Git是分布式版本控制系统,也就是说,同一个版本仓库,可以存放到不同的机器上,而且每台机器克隆过来的版本库都一样,没有主次之分,这样我们就能够在不同的机器上与他人进行协作,或者在自己的机器上查看别人分享的内容。
远程仓库是指托管在因特网或其他网络中的版本库。github就是一个git仓库托管网站,你可以将你的版本仓库放在上面,这样别人就能够从上面获取你的版本库。

一、使用前的准备

1、 首先注册一个github账号。
2、 创建SSH Key,如果你没有生成过SSH Key,则打开git bash,输入命令创建SSH Key

ssh-keygen -t rsa -C "你的电子邮箱地址"

执行后会让你输入路径保存key,括号里是默认路径,直接回车使用默认值。然后会让你设置一个口令,回车默认即可。完成以后你就能在上面的那个默认路径找到id_rsaid_rsa.pub两个文件,前者是私钥,后者是公钥。
3、 登录github打开"Account settings"->“SSH Keys”,选择"Add SSH Key",title随便填,Key中填上id_rsa.pub文件中的内容(选择记事本方式打开)。填完后添加。这个SSH key用于保证提交是你推送的,如果你使用多台电脑提交,则为这些电脑都创建SSH Key,并添加到github中。

二、添加远程仓库

1、 在github上创建一个远程仓库。名字和本地仓库一样。创建完以后将这个仓库关联到本地仓库。

git remote add <远程仓库名称> <远程仓库地址>

远程仓库名称随便设置,一般默认为origin。
远程仓库地址如下
https://github.com/你的github账号/仓库名称.git
或者
git@github.com:你的github账号/仓库名称.git
2、 将本地仓库内容推送到远程仓库。

git push <远程仓库名称> <本地分支>:<远程分支>

上述命令将当本地分支推送到远程库。
简化起见,我们第一次提交时可以使用git push -u <远程仓库名称> <本地分支> -u参数指定一个默认主机,并将本地分支与远程同名分支关联起来。如果没有远程同名分支则创建。这样,后面提交修改时就可以直接使用git push提交了。

三、从远程库克隆

git clone <远程仓库地址>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值