社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

四、学编程语言前,不了解Git,怎么入坑

Python开发 • 4 年前 • 389 次点击  

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇


作者丨小sen

来源丨Python之王


本文是Python从入门到大师共100教程第四篇,系列文章教程已经在CSDN完成,有时间就同步更新。

@Author :By Runsen

上次教大家搭建好Python的两个IDE,分别是Pycharm和Jupyter

是不是我们正式开始写Python代码呢?

我的回答是「NO」

怎么了,环境安装好了不是就开始写吗?

这是不对的,学任何编程语言都要看下Git和Github

1、了解Git

说到Git,Runsen要说下LInux 的大神,是由伟大的Linux创始人Linus创作

就是这个大神,看不惯微软的window系统,就直接搞Linux。

我们回到Git。Git是一个分布式版本控制软件,在Git之前有一个SVN的东西,Linus在写LInux内核的时候,使用的是SVN进行代码提交。

Linus用SVN觉得不爽,就是因为SVN不能够分布式版本控制,这也是Git和最核心的区别

我先把git的官方网站的链接给你扔出来:https://git-scm.com/。

走,我们去Git的官方网站学习。

2、 版本控制

无论Git还是SVM都是用来版本控制,所谓的版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。除了项目源代码,你可以对任何类型的文件进行版本控制。

比如,在我们写毕业论文时可能会遇到,多次修改之后的论文命名方式:

论文_改.doc、论文_改改.doc、论文_改改改.doc、论文_改改改改.doc、论文_改改改改再改.doc、
论文_改改改改再改TM不改了.doc

我还是大三,还不用写论文。

重命名也太OUT了,SVN就出来,你可以提交多个版本,然后托管到代码仓库,进行管理,如果需要就回退。这方便了许多,但是如果这个写代码的跑路,要换Runsen来维护,那是不是没辙。因为这是托管到写代码的跑路人的仓库,我没得用啊。

接下来人们又遇到一个问题,如何让在不同系统上的开发者协同工作?于是,大神Linus发现。其实是LInus写Linux内核的时候,被逼无奈,花了2个星期用c写出了git。

Git是目前世界上最先进的分布式版本控制系统,解决了在不同系统上的开发者协同工作的问题。

3、Git安装

听我吹了这么久,是不是要安装Git开始学习了。再说了,我怎么会一直吹逼。

ubuntu下安装就是一行命令

sudo apt-get install git

centos下安装也是一行代码

sudo yum install git

麻烦的就是Windows了,去git官网下,链接:https://git-scm.com/downloads

选择Window,然后下载安装包,选择路径,下面就是傻逼操作,

安装好了Git,你就可以看见Git GUI和GIT Bash。

出现这两个东西,基本安装成功了。

你在CMD窗口,执行Git,如果有反应就是OK 了。、

没有就赶紧去path配置环境变量

4、创建本地仓库

下面,我教你创建一个文件夹用于存放项目文件,新建一个myporject的文件夹

cd ~/myproject/

初始化myporject的文件夹

git init

会创建一个.git的隐藏文件,关于版本控制的文件都存放在这里,绝对不要改动

没有这东西,你的Git就不能用了。

5、配置个人信息

你可以配置全局信息或者本项目个人信息

配置全局信息直接--global

git config --global user.name 'MaoliRunsen'
git config --global user.email '2953510364@qq.com'

配置信息会保存在家目录下,名字和Email跟注册Github的一致。

cat ~/.gitconfig

配置本项目个人信息

git config user.name 'MaoliRunsen'
git config user.email '2953510364@qq.com'

配置信息存储在当前目录下的.git/config下

cat .git/config

6、 添加文件

创建好了本地仓库,就准备开始开发了。

在项目文件加下创建readme.txt文件,输入以下内容。

我是Runsen,一个化工的专业的码农
这是一个git学习的项目。
将所有的博客进行汇总整理

先添加到暂存区

git add readme.txt

提交到仓库

git commit -m '第一次提交文件'
在这里插入图片描述

git commit命令的,-m参数后输入的内容是提交说明。命令执行成功后显示几个文件被改动,加了多少行。每提交一次就会生成一个版本。

git add .可以一次性把当前目录中所有有改动的文件都添加到暂存区。

7、修改文件

按照这个操作流程,修改readme.txt内容如下

我是Runsen,一个化工的专业的码农
这是一个git学习的项目。
将所有的博客进行汇总整理
然后删除之前Git的博客。

然后再次提交,Git add 和Git commit

8、错误提交

结果我在提交的时候,发现了commit错误了,这不是第一次提交,而是第二次,其实我是故意的。

辛勤的工作一段时候,我提交了2次了,有2个的版本,怎么查看这些提交记录呢?

git log是 查看历史版本

从上图中看到,我们需要删除第二次的Commit,如何删除呢,答案就是版本回退

9、 版本回退

这是就reset就可以了,

git reset --hard HEAD^

重要点终于来了:

  • HEAD表示当前最新版本
  • HEAD^表示当前最新版本的前一个版本
  • HEAD^^表示当前最新版本的前两个版本,以此类推
  • HEAD~1表示当前最新版本的前一个版本
  • HEAD~8表示当前最新版本的前8个版本,以此类推

这是我们查看Git lo 就发现只有第一次的提交,可以看日期时间区别。

git reset --hard 版本号

当版本非常多时选择这种方法。版本号就是每次commit生成的hash值,只用取前几位数。

这是查看readdme.txt

没有了然后删除之前Git的博客。

这样就会产生一个问题,如果你提交错误和选择回退,这样你辛苦写的代码会消失。

因此,如果Commit错误了,回退是错误的办法。

10、回到原来版本

既然回退是错误,那么就需要回到原来最新版本,不然你写的代码全没了

只要上面的命令行窗口还没有被关掉,你就可以顺着往上找到上面最新的commit id是 af316a589238fffca87806ceed36a96992cf66b9,于是就可以指定回到未来的某个版本,只要前八个:af316a58

readdme就回到第二次的状态。

假如你是一个大傻逼,不小心关闭了窗口,就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办?

Git提供了一个命令git reflog用来记录你的每一次命令,然后你可以根据对应的commit id回到你想要的版本:

af316a58同样可以找的到。如果你删除了git的隐藏文件,那你真的凉凉了,回家睡觉去吧。

11、正确方法

上面都是演示一些git的常见错误,我们现在是回到了错误提交的commit上,所以还没有解决。

直接用git commit --amend 就可以了,修改本地最近一次已提交的注释

下面把第一次改为第二次,这是Vim的用法。

你再看看Git log,OK 解决。

每次在做一些大动作(rebasing)之前,建议备份整个版本库,以防万一。

git的历史记录是不可修改的,也就是说你不能更改任何已经发生的事情。你做的任何操作都只是在原来的操作上修改。也就是说,即使你删除了一个分支,修改了一个提交,或者强制重置,你仍然可以回滚这些操作。

12、 总结

今天简单了入了Git的坑,还没完,下面还是要继续把Git搞定,才能开始学习编程语言。

下篇的内容跟下图几张图有关。

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击👆卡片,关注后回复【面试题】即可获取

在看点这里好文分享给更多人↓↓

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/111471
 
389 次点击