小白快速快入门Git

  • 什么是Git
  • SVN VS Git
  • 什么是版本控制
  • 安装Git
  • 谁在操作?
  • Git本地仓库
  • 本地仓库构造
    • 重点
  • Git常用基本操作
    • git add
    • git commit
    • git diff
    • git log
    • git reset
    • git mv
    • checkout
    • git tag
    • clear
  • Github使用教程
    • 什么是Github
    • 安装Github
    • 添加远程仓库
    • 找到key
    • 打开Github官网设置
    • 开始创建远程仓库
    • 创建后
    • push
    • pull
    • clone
  • Pycharm集成Github
    • 配置Git
    • 配置Github
    • 建远程仓库
    • 克隆Github代码
  • Pycharm集成码云
    • 软件准备
    • 开装安装
    • 安装码云插件:gitee
    • 安装git
    • 配置gitee账号和密码
    • 首次提交代码至码云
    • 编写了新代码,再次提交
    • 克隆码云的代码至Pycharm

什么是Git

  • Git是目前世界上最先进的分布式版本控制系统(没有之一)。
  • Git有什么特点?简单来说就是:高端大气上档次!

SVN VS Git

  • Git是分布式的版本控制系统,而SVN是集中式的版本控制系统,下面画个图来讲解它们的区别:

什么是版本控制

  • 我们今天上班敲了一天代码,然后关机下班。明天来的时候,可能因为某个原因要修改代码。修改之后发现,怎么比之前的还差。于是又得修改,一直一直修改下去,最后不知道修改了多少次,到头来可能觉得还是最初的代码写的好,最直接的方法就是手动敲代码恢复到最初的代码
  • 这个过程实在是难受,于是Git就被广泛使用了。因为Git是版本控制系统,只要我们把代码交给了Git,我们就相当于拥有的后悔药,可以把代码恢复到任意的版本。Git还有一个特性就是分布式(这个接下来就会讲到),由于这个特性,SVN逐渐被Git取代了
  • 下图就叫版本控制,可以查收提交的作者和提交的相关信息

安装Git

  • Git官网下载地址:https://git-scm.com/
  • Windows版本的Git安装除了安装路径需要修改一下,其他的地方都可以默认,然后一直next就安装完成了。
  • 安装完之后,我们在Windows任意位置右键,如果出现下面红色框中的选项,就说明Git安装成功了。
  • 右键空白处,如图显示刚安装成功
  • Git命令窗口
  • 配置窗口字体
  • 按住ctrl+ 鼠标滚轮也可以放大窗口,但下一次打开又是默认字体大小

谁在操作?

  • 在代码的推送和拉取的时候,Git要知道你是谁,也就是能标识你身份的信息。
  • 这些信息就是用户名和邮箱

设置全局身份信息,也就是对所有本地仓库有效。
git config --global user.name = 用户名
git config --global user.email = 邮箱

设置本地仓库身份信息,也就是只对改本地仓库起效。
git config user.name = 用户名
git config user.email = 邮箱

查看全局身份信息,查看本地仓库身份信息去掉–global即可。
git config --global user.name
git config --global user.email

一般设置全局身份信息

Git本地仓库

  • 我们需要创建Git本地仓库,然后把代码交给Git管理,这样才能让Git控制我们的代码版本,我们才算拥有了后悔药。
  • 在Windows上,任意的Git命令都是在Git Bash Here中执行,我们通过git init命令来创建本地仓库。执行命令后会创建.git文件夹,该文件夹默认是隐藏的。不能手动对该文件夹做其他操作,否则会破坏本地仓库。
  • 在Windows上,任意的Git命令都是在Git Bash Here中执行,我们通过git init命令来创建本地仓库。执行命令后会创建.git文件夹,该文件夹默认是隐藏的。不能手动对该文件夹做其他操作,否则会破坏本地仓库。
  • 如果你非要看隐藏文件在哪里,请看下标
  • 查看–勾选隐藏项目,即可以显示隐藏的文件.git
  • 虽然我们是安装Windows版本的Git,但是Git一开始是为合并Linux代码被诞生的,所以Git命令兼容Linux命令,
  • 我们右键可以看到Git Bash Here,点击它出现控制台,可以看成是精简版的Linux终端,可以执行Git命令,也可以执行Linux命令。

本地仓库构造

  • 了解了Git本地仓库构造,接下来我们就真正行动起来,让Git控制我们任意文件的版本
  • 这里只是以简单的.txt文件来讲解Git是如何控制版本的

重点

摘自廖雪峰Git教程

  • 所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。
  • 版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。
  • 图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。
  • 不幸的是,Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的,如果要真正使用版本控制系统,就要以纯文本方式编写文件。
  • 因为文本是有编码的,比如中文有常用的GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。

如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

使用Windows的童鞋要特别注意:

  • 千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Visual Studio Code代替记事本,不但功能强大,而且免费!

Git常用基本操作

  • 千百年咱不用的命令咱就不说它了。就讲些常用的。一起来

git add

第一步:

  • pwd是打印所处的的目录路径
$ pwd
/d/Study

第二步:

  • 在该目录中新建文件study.txt,任一输入内容

    第三步:文件添加到暂存区

  • git add 文件名

    好了,接下来我们就把工作区中的文件添加到暂存区中,添加的方式有多种,如下命令:

  • 添加单个文件到暂存区

git add 文件名称
  • 添加多个文件到暂存区
git add 文件名称 文件名称 ...
  • 添加该目录下所有文件到暂存区
git add .

第4步:查看文件状态

git status
  • 文件名颜色变成了绿色,说明该文件已处于暂存区,也符合我们上面说的暂存区中所有的文件都会显示为绿色。

git commit

  • 虽然我们把文件添加到暂存区了,但是Git还不能真正管理我们的文件
  • 只有我们把文件提交到版本库,Git才算真正管理我们的文件
  • 因为我们每一次提交,都会产生一个版本号,我们就是通过版本号来任意切换不同的版本
  • 简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。这时我们再输入git status命令,如下图,发现什么都没有了。说明工作区和暂存区没有要提交的文件了。

git diff

git diff 顾名思义就是查看difference,中文意思就是不同,即然是要看不同,我们就要先修改文件

  • 修改文件内容为:day day up

  • 再使用git status 查看文件状态

  • 说明文件被修改,但暂时没有提提交到版本

  • 要记住点:修改后就还要走两个步骤:

    • 先添加到暂存区
    • 再提交到版本库
  • 那我们查看两次提交文件的区别呢?或者说文件被修改哪些内容了,这时我们就用到git diff 文件名称命令。

  • 画个图来回顾我们上面的操作

git log

说个笑话,我们可能明天起床后,就忘记了昨天我们往版本库提交过多少次了。
哎,别担心,Git就知道我们会出现这种情况,它很贴心,为我们准备了git log命令,该命令显示从最近到最远的提交日志。

如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数:

温馨提示:

  • 我们看到的一大串类似c617e68cad9e378…的就是commit id(版本号),和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示,每个人的commit id肯定是不一样的。

  • 为什么commit id需要用这么一大串数字表示呢?因为Git是分布式的版本控制系统,后面我们还要研究多人在同一个版本库里工作,如果大家都用1,2,3……作为版本号,那肯定就冲突了。每提交一个新版本,实际上Git就会把它们自动串成一条时间线。
    知道了每一次提交的版本号之后,我们就可以使用时光穿梭机,在多个版本中任意切换。

知道了每一次提交的版本号之后,我们就可以使用时光穿梭机,在多个版本中任意切换。

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交41ec51f8324d…(每个人提交的版本号肯定是不一样的),上一个版本就是HEAD,上上一个版本就是HEAD,当然往上100个版本写100个不现实,所以写成HEAD~100。

git reset

  • 我们已经知道怎么查看提交日志,以及了解什么是版本号了。接下来就开始使用时光穿梭机。git reset命令就是版本回退的命令。
  • 在回退之前我们先看看当前Git.txt的内容,cat 文件名称命令是打印指定文件内容
  • cat 文件名

git reset --hard head^:回退到上一个版本

git mv

  • 用于移动或重命名一个文件、目录或软连接
# 将文件从暂存区和工作区中删除:
git mv file newfile# 如果新但文件名已经存在,但还是要重命名它,可以使用 -f 参数:
git mv -f file newfile

checkout

  • 想检出指定版本,比如回退版本,将代码检出到老代码
  • git log查看版本提交的记录
  • 通过commit提交的版本号进行切换
    - 切换后效果展示
  • git log再查看

git tag

  • 作用:
  1. 我们想为我们的xx项目发布一个"1.0"版本。 我们可以用 git tag -a v1.0
  2. -a 选项意为"创建一个带注解的标签"。 不用 -a 选项也可以执行的,但它不会记录这标签是啥时候打的,谁打的,也不会让你添加个标签的注解。 推荐一直创建带注解的标签。
  • 命令:
git tag -a v1.0
  • 完整:
git tag -a v1.0 -m "submit"

再通过git log 查看

clear

  • 清除屏幕内容
  • 清除前
  • 清除后

Github使用教程

什么是Github

  • GitHub作为免费的远程仓库
  • 如果是个人的开源项目,放到GitHub上是完全没有问题的。
  • GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。

安装Github

Github官网

  • 点击“Create your account”,进入GitHub注册页面
  • 标注 1:Sign in,登录;
  • 标注 2:Sign up,注册—点击
  • 输入注册信息
    输入账户名、邮箱地址、密码,点击验证,(注意:账户名、邮箱地址、密码必须符合规则,且邮箱地址真实有效)
  • 验证
  • 输入邮箱验证码

添加远程仓库

  • 由于你的本地 Git 仓库和 GitHub 仓库之间的传输是通过SSH加密的
  • 所以我们需要配置验证信息:使用以下命令生成 SSH Key:
  • ssh-keygen -t rsa -C "3228373734@qq.com"

找到key

  • 复制key

打开Github官网设置

开始创建远程仓库

  • 如图所示操作

创建后

push

  • 操作示意图

  • 上传后效果

pull

  • pull 则是将远程主机的master分支最新内容拉下来后与当前本地分支直接合并 fetch(获取)+merge(合并)
  • git pull origin master

注:使用场景,A开发人员将代码放至Github,B开发修改代码后,A用户pull仓库代码至本地仓库,这样A开发人员就显示了B开发者修改后的代码

clone

  • 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆
  • git clone git@github.com:YF223/good.git
  • Git支持多种协议,包括https(速度慢),SSH(默认)

#@ Pycharm集成码云

Pycharm集成Github

配置Git


这一步很关键,很多同学配置完github就直接开始使用了,结果却是各种错误。
这是因为,除了配置github外还要配置git。github的配置只是告诉了pycharm你的账号和密码,
pycharm还不知道如何进行版本控制操作,它底层还是需要调用git的功能的。
因此,请提前下载并安装git程序到你的本机

配置Github

  • Add Account
  • 弹出页面中输入Github账号和密码,进行验证后

建远程仓库

  • 如图所示
  • 填写相关信息
  • add代码
  • 选择你要上传的文件,一般是直接全部上传,当然也可以取消那些没必要的文件。输入提交信息,
  • 点击OK确认。等待片刻,根据你的网络情况和文件大小,pycharm将文件传输给github,成功后会弹出小的提示
  • SO easy

克隆Github代码

  • 选择克隆仓库

Pycharm集成码云

  • 码云(gitee.com)是开源中国推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管
  • 可以通过码云保管你的代码,每次修改完代码提交,就是一个版本
  • 你可以回退版本,找回以前的代码
  • 版本之间修改之处颜色不同,方便识别修改了哪些地方
  • 还可以通过码云在家中写代码,写完上传,让公司的人接收,实现家庭办公

软件准备

  • 码云账号和密码
  • Pycharm安装Gitee插件
  • 安装git

开装安装

安装码云插件:gitee

  • File–Settings–Plugins-输入:gitee
  • 安装成功后,会提示重启ide
  • 如果出现搜索不到的情况,请多搜索几次

安装git

  • 下载链接:http://git-scm.com/downloads
  • 根据你实际情况下载相应的安装包
  • File–Settings–git–选择git.exe目录,点击Test按钮,如图所示

配置gitee账号和密码

  • File–Settings–gitte–填写gitee账号和密码,点击Test按钮,如图所示

首次提交代码至码云

  • VCS–Import into Version Control–Share Project on Gitee
  • 填写项目名字(使用英文)
  • 点击Add,稍后Pycharm右下角会弹出成功提示
  • 刷新码云,即可看到提交的代码

编写了新代码,再次提交

克隆码云的代码至Pycharm

  • 登录码云–个人主页–选择项目
  • 复制HTTPS链接
  • 打开Pyharm–Get from Version Control…
  • 粘贴HTTPS的链接
  • 点击Clone


    如果对软件测试、接口测试、自动化测试、技术同行、持续集成、面试经验交流。感兴趣可以进到893694563,群内会有不定期的分享测试资料。
    如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。

❤️❤️爆肝3万字整理小白入门与提升分布式版本管理软件:Git,图文并茂(建议收藏)❤️❤️相关推荐

  1. 爆肝1万字《c++入门综合》

    大家好,今天屁孩君给大家带来c++入门综合. 文章目录 c++是神马 发展过程 Dev-c++ 头文件 命名空间 主函数 输出与输入 变量,表达式与赋值语句 setw() if语句与else语句 逻辑 ...

  2. 过程或函数的副作用是_Python函数和函数式编程(两万字长文警告!一文彻底搞定函数,建议收藏!)...

    Python函数和函数式编程 函数是可重用的程序代码段,在Python中有常用的内置函数,例如len().sum()等. 在Pyhon模块和程序中也可以自定义函数.使用函数可以提高编程效率. 1.函数 ...

  3. 5万字 TypeScript入门系列(第四期)(建议收藏)

    极客江南: 一个对开发技术特别执着的程序员,对移动开发有着独到的见解和深入的研究,有着多年的iOS.Android.HTML5开发经验,对NativeApp.HybridApp.WebApp开发有着独 ...

  4. ❤️熬夜爆肝十万字❤️Java最简单最全入门基础知识(一)(小白必备--推荐小白收藏)❤️

    写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的 java 语言代码把思路体现出来. 学习 ...

  5. Redis入门到精通保姆级教程 ---> 【爆肝五万字】

    文章目录 1.NoSQL数据库 1.1 NoSQL数据库概述 1.2 NoSQL使用场景 1.3 NoSQL不适用场景 1.4 常见的NoSQL数据库 1.4.1 Memcache 1.4.2 Red ...

  6. Vue.js从入门到精通(全),爆肝十一万字,“建议收藏”,国庆福利!!!

    内容很饱满,过程可能会枯燥,愿你经过风雨,过后能成为不一样的烟火

  7. 爆肝5万字❤️Open3D 点云数据处理基础(Python版)

    Open3D 点云数据处理基础(Python版) 文章目录 1 概述 2 安装 2.1 PyCharm 与 Python 安装 2.3 Anaconda 安装 2.4 Open3D 0.13.0 安装 ...

  8. 爆肝4万字❤️零基础掌握Verilog HDL

    文章目录 0.前言 1.Verilog HDL简介 1.1 什么是Verilog HDL 1.2 verilog发展历史ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ 1.3 为什么要使用verilog ...

  9. 深夜爆肝:万字长文3种语言实现Huffman树(强烈建议三连)

    文章目录 一.C语言能干大事 1. C语言下Huffman树的计算过程分析 2. C语言下Huffman树的编程 二.C#语言也不赖 1. C#下Huffman类的设计 2. C#中界面设计 3. 建 ...

最新文章

  1. c#发送http请求
  2. ps随机排列_漂亮!自然材料:人工可控微米级胶体粒子“堆积木”——粒子随心所欲的组装排列!...
  3. symfony开发步骤简述
  4. 因子和,因子数,1到n的因子和,1到n的因子数(积性函数)
  5. logstash 获取多个kafka_logstash 配置详解
  6. C++ Handle(句柄) part1
  7. Linux笔记-手动配置yum及光盘安装rz
  8. 支付宝回应 AI 换脸风险;新 iPhone 或将于 13 号接受预订;Linux Lite 4.6 发布 | 极客头条...
  9. 干不过微信,又抢钉钉地盘!中移动砸下 8400 万重做飞信
  10. python set集合转numpy.array
  11. 网络电视机顶盒测试软件,调试接口查找方法,机顶盒刷成全网通盒子,实现免费看电视...
  12. 数据结构——“双向循环链表“ 易懂刨析双向循环链表(图解+代码)
  13. 央行数字货币:第三方支付产业新变量
  14. oracle中字符串长度计算,根据 oracle 标准计算超长字符串的长度
  15. 家用洗地机器人哪个牌子好性价比高?家用洗地机品牌排行榜前十名
  16. CentOS 安装meld
  17. 网易我的世界android苹果,我的世界Minecraft中国版官方网站——你想玩的,这里都有...
  18. PM_08 十大管理之项目质量管理(五)
  19. DOS死机客星,能打破程序死循环,按住Ctrl +Esc即可使死掉的程序立即返回到Dos Shell
  20. 《Python编程金典》读书笔记

热门文章

  1. NVIDIA AGX XAVIER(3分钟攻破英伟达盒子联网与VSCode安装)
  2. 给定点坐标求多边形面积模板
  3. 如何选性价比高的笔记本电脑,戴尔灵越16 Plus怎么样?
  4. 5gnr信号测试软件,通过锚点站判断5GNR基站的信号电平案例.docx
  5. 魅族手机如何刷flyme国际版(跳过检查固件损坏这一步)
  6. 高压放大器使用函数波产生器当输入时的工作原理是什么?
  7. 计算机网络:时延、时延带宽积、RTL、利用率
  8. 时延,时延带宽积,RTT和利用率
  9. 在html中有两种类型的标签 它们分别是,VB习题及题解答.doc
  10. 985计算机报录比,985211院校报录比大汇总!