Linux及Git介绍

1.Linux基础知识

  • 为什么要学习Linux
+ 因为后所需要用到的工具是基于Linux平台所使用的工具。
  • 很难学吗?
+ 不难就是些命令。
  • 什么是Linux
+ `Linux作者:林纳斯·托瓦兹`
    林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds, 1969年~ ),著名的电脑程序员、黑客。Linux内核的发明人及该计划的合作者。
 托瓦兹利用个人时间及器材创造出了这套当今全球最流行的操作系统(作业系统)内核之一。现受聘于开放源代码开发实验室(OSDL:Open Source Development Labs, Inc),全力开发Linux内核。
    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。
 它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
    Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。
    Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
  严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统`

2.Shell

  • 什么是shell
+   在计算机科学中,Shell俗称壳,用来区别于Kernel(核),是指“提供使用者使用界面”的软件(命令解析器)。
   它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
  • shell分类
+ 图形界面shell: 通过提供友好的可视化界面,调用相应应用程序,如windows系列操作系统,Linux系统上的图形化应用程序GNOME、KDE等。
+ 命令行shell:通过键盘输入特定命令的方式,调用相应的应用程序,如windows系统的cmd.exe、Windows PowerShell,Linux系统的Bourne shell ( sh)、Bourne Again shell ( bash)等
  • shell命令

    • 就是围绕增删查改
+  pwd (Print Working Directory) 查看当前目录
+  cd (Change Directory) 切换目录,如 cd /etc
+  ls (List) 查看当前目录下内容,如 ls -al,“.”(表示当前目录)和“..”(表示当前目录的父目录)。
+  mkdir (Make Directory) 创建目录,如 mkdir blog
+  touch 创建文件,如 touch index.html
+  echo >>追加文件 >重新添加一行
+  wc (Word Count) 字数信息统计,如 wc index.html
+  cat 查看文件全部内容,如 cat index.html
+  more less 查看文件,如more /etc/passwd、less /etc/passwd  不用学习
+  rm (remove) 删除文件,如 rm index.html、rm -rf  blog
+  rmdir (Remove Directory) 删除文件夹,只能删除空文件夹,不常用
+  mv (move) 移动文件或重命名,如 mv index.html ./demo/index.html
+  cp (copy) 复制文件,cp index.html ./demo/index.html
+  head 查看文件前几行,如 head -5 index.html
+  tail 查看文件后几行 –n –f,如 tail index.html、tail -5 index.html 
+  history 查看操作历史
+  whoami 查看当前用户

3.Git简单介绍

  • 什么是Git

    • Git是一款源代码管理工具(版本控制工具)
    • 什么又是源代码:凡是由我们手写的代码都称之为源代码
    • 源代码有必要管理起吗?
      • 有必要,因为人工的去处理不同的版本,做相应备份会比较麻烦。
      • Git是linux之父当年为了维护linux---linus之前也是手动维护合并把文件发给Linus
  • 集中式和分布式
    • 集中式:Svn
    • 分布式:Git

4.Git命令使用

  • Git初次使用添加用户名和邮箱

    • 配置用户名:git config --global user.name "你的用户名"
    • 配置邮箱 :git config --global user.email "你的邮箱"
    • 删除错误配置 :git config --global --unset "错误的key删除掉"
    • 查看配置 :git config --list
    • 去任何一家公司现完成上面的步骤
  • 初始化一个空的仓储
    • 初始化空仓储:git init
    • 这个命令会在当前目录中新建一个隐藏的名为.git的文件夹,里面存储的是项目的各个版本。
    • 千万不要更改.git目录里文件。
  • 查看当前目录文件的状态
    • 命令 : git status

      • 查看当前工作目录的状态,是已经放到暂存区,还是提交到仓库了。
    • 或命令: git status -s 查看简要的状态信息
  • 将文件添加到暂存区
    • 命令: git add ./file.txt

      • 将当前目录中的file.txt添加到暂存区
    • 或者: git add .
      • 表示将当前目录所有文件都添加的暂存区.
      • 这是批量添加.
 + 可以对文件执行多次add命令,都会把最新的修改添加到暂存,但是,后页面执行add命令,会把前面执行add命令添加到暂存区的文件覆盖(相同的文件会覆盖)
  • 将文件添加到仓储中

    • 命令 : git commit -m "这次我添加了一个变量"

      • -m 表示需要指定一个字符串,表示本次提交的代码与上一次相比多了哪些功能,或者是做了哪些修改。
      • 每次提交时都需要写上相应的字符串以做出说明
    • 或命令: git commit -m -c
      • -c 表示可以在提交时,不提供说明。
      • 不推荐这么做,不利于后期代码维护
      • 提交时只是提交暂存区的代码,没有添加到暂存区的代码不会提交
  • 查看日志
    • 命令:git log
    • 或命令:git log --oneline
    • 以图形化查看:git log –graph
  • 忽略文件
    • 不要省略/ 除非有必要
    • 需要新建一个名为: .gitignore 的文件
    • 这个文件话.git同级目录.
      • 该文件用来告诉我们的git哪些文件不要被添加一仓储中。
      • 忽略某个目录: /node_modules
      • 忽略某个文件: /css/my.css
      • 忽略某一类文件: /css/*.css
      • 忽略目录下所有文件: .
      • 忽略所有名为node_modules的目录: node_modules
      • #号表示注释
  • 版本回退
    • 命令:git reset --hard Head

      • 回到最近一次提交的版本的文件状态
      • git指向的是上一次提交
      • ‘git reset --hard Head^^ 表示回到最近往前第二次的提交‘
      • Head后面的^表示回退到第几次
    • 命令: git reset --hard Head~1
      • 表示回到最近一次提交的前一次提交.
      • Head~2,回退到最近一次提交的前2次提交.
    • 命令: git reset --hard [版本号]
      • 示例: git reset --hard 12dad211
      • 回退到某个具体的版本。
      • 可以配合git reflog命令查看历史操作来进行回退
    • 这里进行版本回退,并不会对文件进行真实的删除
      • 通过git reflog 可以查看到每一次对版本的切换来提交。
  • 创建Git分支,并切换分支
    • 正在做功能呢,才做了一半,但是为了不丢失代码要提交,又不能影响别人工作。
    • 查看有多少分支
      • git branch
    • 命令: git branch dev
      • 创建了一个名为dev的分支
    • 命令: git checkout dev
      • 切换到dev分支
    • 创建并切换到指定分支
      • git checkout -b dev
  • 合并Git分支
    • 画图
    • 命令: git merge dev
      • 表示将当前分支与dev分支合并
      • 在主分支下执行合并命令.
    • 命令: git branch -d dev
      • 表示删除dev分支,当合并分支后,如果不需要再使用dev分支,则可以直接删除。
      • 不要在dev分支执行这个命令,在别的的分支执行.
  • 解决冲突
    • 应该是如何合并冲突。
    • 冲突是不可避免的。
    • 当在新功能完成后合并前,修改并提交了主分支对应的文件,合并时两个分支中的文件有冲突。
    • 手动修改文件,然后提交

5.Git原理以及常用步骤

  • Git内部结构

    • 为了更好的学习Git,我们们必须了解Git管理我们文件的3种状态,分别是已提交(committed)、已修改(modified)和已暂存(staged),由此引入 Git 项目的三个工作区域的概念:Git 仓库、工作目录以及暂存区域。 Git仓库目录是Git用来保存项目的元数据和对象数据库的地方。 这是Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。 工作目录是对项目的某个版本独立提取出来的内容。 这些从Git仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。 暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在Git仓库目录中。有时候也被称作“索引”(Index),不过一般说法还是叫暂存区域。
    • 基本的Git工作流程如下:
      • 1、在工作目录中修改文件。
      • 2、暂存文件,将文件的快照放入暂存区域。
      • 3、提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录。
  • git本地基本操作步骤
    • 1.新建一个项目文件夹,进行文件夹中,打git bash执行命令: git init

      • 初始化一个git仓储,其实就是一个隐藏的.git文件夹
      • 不要轻易改变里面文件
    • 2.开始新文件,写我们的代码,写完一个功能,执行命令:git add [文件路径]
      • 示例:git add ./READEME.md
      • 表示要把相应的文件添加到暂存区,暂存区和仓储其实都在.git目录中
      • 批量添加 git add . 或者 git add *
    • 3.把添加到暂存区的文件提交到仓储中.
      • 命令: git commit -m "这时写类似注释的东西"
      • 注意:在提交之前需要配置个人信息 git config --global user.name "xiaoming" git config --global user.email "[email protected]"
    • 4.所有需要备份或者提交的文件及目录都必须在.git所在目录。不要超出.git所在目录
  x: 在这几步前后,都可以执行命令:`git status`
  • 撤销操作

    • 撤销已修改状态 git checkout -- 文件路径

      • 撤销addgit status 先看一下add 中的文件 git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 git reset HEAD XXX/XXX/XXX.html 就是对某个文件进行撤销了
      • 撤销 commitgit reset HEAD

6.Git网上操作

  • gitHub、gitLab和国内的git网站

    • 这些托管网站就相当于 百度云盘、360云盘 只不过这里上传的是源代码而不是其他东西
    • gitHub大部分收费 官网地址
    • gitLab大部分免费 官网地址
  • git clone
    • 命令:‘git clone [仓储地址]‘
    • 会把指定仓储的整个下载来
    • 如果不需要下载整个仓储,只需要最新的一次提交,加上参数--depth
  • 登录
    • 直接通过账号密码登录,太麻烦了
    • 通过SSH登录,不用在输入用户名和密码
      • 1.在任意位置输入 ssh-keygen -t rsa 创建rsa密钥
      • 2.将rsa密钥给网站
      • 3.选clone路径的时候选择ssh登录
  • push(推送)
    • 命令:git push [地址] master
    • 或命令:git push origin master
  • pull(拉回)
    • 命令:git pull [地址] master
    • 或命令:git pull origin master
  • remote命令使用
    • git remote add “主机名称” “远程仓库地址”添加远程主机,即给远程主机起个别名,方便使用
    • git remote rm“主机名称” 命令用于删除远程主机。
    • git remote 可以查看已添加的远程主机
    • git remote show “主机名称”可以查看远程主机的信息

7.杂项

  http://www.crx4chrome.com/
  http://owo.help
  hash值或者称为sha值

时间: 2024-10-17 04:16:40

Linux及Git介绍的相关文章

git介绍及相关命令

什么是git?用于代码版本控制的工具.什么是github?各版本代码的托管平台. linux下git安装,步骤如下:#yum -y install git#git --version //检查是否安装成功 本地建立repository仓库:#git init#git status //查看本地库状态,默认为master 根据需求添加本地文件到本地库:#git add local_files#git commit或者加上-m来直接添加版本说明若未提交可返回到上个版本:#git reset --ha

linux 防火墙详细介绍

1.其实匹配扩展中,还有需要加-m引用模块的显示扩展,默认是隐含扩展,不要使用 -m状态检测的包过滤-m state       --state {NEW,ESTATBLISHED,INVALID,RELATED}  指定检测那种状态-m multiport 指定多端口号      --sport      --dport      --ports-m iprange 指定IP段      --src-range ip-ip      --dst-range ip-ip-m connlimit

Linux下git基本使用总结<4>

1.设置别名 例: git config --global alias.st status      用st代替status 以后查看状态git status-> git st 即可 也可以包含参数 例: git config --global alias.ci  "commit -m" 以后提交时 git commit -m "balabala"  -> git ci "balabala" git config 有几种参数 可以为g

Git介绍

Git介绍git是一款源代码管理工具(版本控制工具)人工去处理不同版本的代码(做相应的备份)会很麻烦 ##Git安装 ##初始化Git仓储/仓库- 这个仓库会存放git对我们项目代码进行备份的文件- 新建项目  打开项目文件夹(工作区:不包括.git)  右键git bash  命令:'git init'  执行:初始化空的git仓库在新建项目目录(默认是隐藏文件夹.git) ##配置个人信息(姓名和邮箱)- 就是在git中设置当前使用的用户是谁- 每一次备份都会把当前备份者的信息存储- 命令:

Linux下Git和GitHub使用方法总结 (码云)

初学先记住这几条,其他慢慢研究. 下面讲如何用码云完成一个项目的提交, 我的步骤 https://git.oschina.net/phpervip/qianzhu(此例:一个企业模板): 先在码云上注册一个帐号. 然后新建项目,就有一个git地址. 本地进入你的项目目录. 初始化项目->建远程连接->获取项目->添加版本->版本提交->远程提交 git init git remote add origin https://git.oschina.net/phpervip/qi

linux 之 yum 介绍 <转>

原文在这里  http://doophp.sinaapp.com/archives/linux/yum-setting-parameter.html 因为是程序员出身,平时虽然经常接触服务器,偶尔也会要装一些软件.配置优化什么的,可能还是个人习惯问题,一般情况下我还是以手工编译居多(这其中的优缺点就不在这里啰嗦了).这几天有同事提出YUM其实更便于日常管理维护,确实,相对于手工编译,服务器多的时候YUM确实要方便不少.今天整理了一下YUM相关的背景知识,东西还不够详细,后续会逐步完善. YUM简

Linux下git安装配置

一.Linux下git安装配置 2013-07-28 20:32:10|  分类: 默认分类 |  标签:linux  git  server  |举报|字号 订阅 http://abomby.i.sohu.com/blog/view/168755260.htm http://www.linuxidc.com/Linux/2011-12/48555.htm Git是分布式的版本控制系统,实际上是不需要固定的服务器的,Git与svn的最大区别是,它的使用流程不需要联机,可以先将对代码的修改,评论,

Linux下Git和GitHub使用方法总结

来源:Linux下Git和GitHub使用方法总结 1 Linux下Git和GitHub环境的搭建 第一步: 安装Git,使用命令 “sudo apt-get install git” 第二步: 到GitHub上创建GitHub帐号 第三步: 生成ssh key,使用命令 “ssh-keygen -t rsa -C "[email protected]"”,your_email是你的email 第四步: 回到github,进入Account Settings,左边选择SSH Keys,

linux的基本介绍和命令行

<linux的基本介绍和命令行> [什么是Shell] (1)简介:shell是一款保护内核的软件.bash是shell的一个版本. 性质:命令解析器 用途:接受用户命令 1)在计算机科学中,shell俗称壳(用来区别核),是指"提供使用者使用界面"的软件(命令解析器).他类似于DOS和后来的cmd.exe.他接收用户命令,然后调用相应的应用程序.同时他又是一种程序设计语言.作为命令语言,他交互式解释和执行用户输入的命令,或者自动地解释和执行预先设定好的一连串命令:作为程序