一文看懂git的使用

分布式版本控制git                                   集中式版本控制svn

SVN与Git的最主要的区别?

  SVN是集中式版本控制系统,版本库是集中放在*服务器的,而干活的时候,用的都是自己的电脑,所以首先要从*服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到*服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

Git是分布式版本控制系统,那么它就没有*服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

一:通过命令 git init 把这个目录变成git可以管理的仓库 

一文看懂git的使用

 新建完成后会出现.git 文件夹 这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。如下:

一文看懂git的使用

二:把文件添加到版本库中

首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

第一步:使用命令 git add 123.txt添加到暂存区里面去。如下:

一文看懂git的使用

使用 git status 查看那些文件在暂存区里 123.txt 就是我们新加入的文件 未加入的文件为 .idea/ main.py

一文看懂git的使用

使用git add --all 可以把所有修改过的文件都放入暂存区

但在使用之前需要加上限制条件,避免出问题

vim .gitignore 新建文件 .gitignore 按 i 进入 esc + :wq退出

一文看懂git的使用

.idea/ 以他结尾的不要提交

*.pyc 以他结尾的不要提交

第二步:用命令 git commit告诉Git,把文件提交到仓库。

直接使用该命令会跳出这个界面 用来记录该文件的版本信息,按 i 进入 :wq 退出

一文看懂git的使用

一文看懂git的使用

 如果不想进入界面编辑 使用 git commit -m "版本信息" 

一文看懂git的使用

 使用 git log 查看提交的版本信息 

一文看懂git的使用

commit 后面的是版本号

但是我现在继续来改下123.txt内容,继续使用git status来查看下结果

一文看懂git的使用

 上面的命令告诉我们 123.txt文件已被修改,但是未被提交的修改。

接下来我想看下123.txt文件到底改了什么内容,如何查看呢?

可以使用如下命令:git diff 123.txt 或者 git log -p 如下:

一文看懂git的使用

三:版本回退:

现在我已经对readme.txt文件做了三次修改了,那么我现在想查看下历史记录,如何查呢?我们现在可以使用命令 git log 演示如下所示:

 一文看懂git的使用

git log 命令显示从最近到最远的显示日志

现在我想使用版本回退操作,我想把当前的版本回退到上一个版本,要使用什么命令呢?

git reset +前版本版本号 --hard

一文看懂git的使用

 使用给git log 查看信息

一文看懂git的使用

但是现在我想回退到最新的版本,我们可以通过版本号回退,使用命令git reflog方法如下:

一文看懂git的使用

使用 git reset +前版本版本号(黄字) --hard 回滚版本

一文看懂git的使用

 使用给git log 查看信息就可以看到成功回滚到最新版本

四:远程仓库。在了解之前,先注册github账号

一文看懂git的使用

git remote add origin https://gitee.com/Song12138/cjh 重命名网址为origin

git remote remove origin 删除重命名

git remote -v 查看映射关系

一文看懂git的使用

git push origin master 把本地master分支文件上传到仓库

git pull origin master 将线上的master分支文件拉取下来

进入自己的仓库点击 pull request 从自己的仓库上传到公共仓库

 一文看懂git的使用

五:git 仓库克隆

一文看懂git的使用

上一篇:python爬虫案例(有缺陷文末说明)爬取初中英语练习题


下一篇:R中输出常见位图和矢量图格式总结