git的运用

git的运用和操纵

shell

  • 在盘算机科学中,Shell俗称壳,用来区分于Kernel(核),是指“供应运用者运用界面”的软件(敕令解析器)。它类似于DOS下的command和厥后的cmd.exe。它吸收用户敕令,然后挪用响应的应用程序。
  • 图形界面shell:经由过程供应友爱的可视化界面,挪用响应应用程序,如windows系列操纵体系,Linux体系上的图形化应用程序GNOME、KDE等。
  • 敕令行shell:经由过程键盘输入特定敕令的体式格局,挪用响应的应用程序,如windows体系的cmd.exe、Windows PowerShell,Linux体系的Bourne shell ( sh)、Bourne Again shell ( bash)等。
  • API,application programming interface应用程序编程接口

bash经常使用划定规矩

pwd

检察当前目次

《git的运用》

cd

切换目次,如cd /etc

《git的运用》

ls

检察当前目次下的内容,如ls -al,./示意当前目次,../示意上一级目次

ls示意当前目次下的文件

《git的运用》

ls -a示意当前目次下一切的文件,包含./当前目次 ../上一级目次

《git的运用》

ls -l示意当前目次下一切文件的详细信息,不包含./和../

《git的运用》

ls -al是上面两种状况的鸠合

《git的运用》

ls ./示意当前目次的文件

ls ../示意上一级目次的文件

mkdir

竖立目次,如mkdir blog

《git的运用》

touch

竖立文件,如touch index.html

《git的运用》

cat

检察文件的悉数内容,如cat index.html

《git的运用》

less

检察文件,如more /etc/password,less /etc/password

less敕令f向前一页,b向后一页,回车每次走一行,q退出

《git的运用》

rm

删除文件,如rm index.html,rm -rf blog

-rf示意悉数删除,强迫删除文件夹,在DOS窗口也可以用

《git的运用》

rmdir

删除文件夹,只能删除空文件夹

《git的运用》

mv

挪动文件到指定的目次或重命名,如mv index.html ./demo/index.html

《git的运用》

cp

复制文件到指定的目次,cp index.html ./demo/index.html

《git的运用》

tab

自动补全,连按两次会将一切婚配内容显现出来

重定向

>掩盖

《git的运用》

>>追加

《git的运用》

管道符

可以将多个敕令衔接运用,上一次结果是下一次的参数

grep

婚配内容,和管道符连用

tail

不加参数默许从末端最先显现,加上数字参数,示意文件从倒数第几行最先显现

《git的运用》

vi编辑器

  • Linux操纵体系标配,相当于window下的记事本
  • vi经常使用操纵

    • 翻开/竖立文件,vi 文件途径
    • vi也可以竖立新文件,vi文件名以后进入末行形式保留
    • Window中后缀有意义,在Linux中后缀没有意义
    • 输入形式和末行形式不能直接切换
  • 末行形式(底行形式)

    • :w保留,:w filename另存为
    • :q退出,:wq保留并退出
    • :e! 打消变动,返回到上一次保留的状况,:q! 不保留强迫退出
    • :set nu 设置行号
  • 敕令行形式

    • ZZ(大写)保留并退出,u辙销操纵可屡次运用
    • dd删除当前行,yy复制当前行,p 粘贴内容
    • ctrl+f向前翻页,ctrl+b向后翻页
    • i进入编辑形式,当前光标处插进去
    • a进入编辑形式,当前光标后插进去
    • A进入编辑形式,光标挪动到行尾
    • o进入编辑形式,当前行下面插进去新行
    • O进入编辑形式,当前行上面插进去新行

版本掌握

  • 当地式版本掌握,集合在一台电脑,不轻易,电脑破坏就轻易丧失,不会掩盖

    《git的运用》

  • 集合式版本掌握,放在一个服务器,不会掩盖本来的东西,不范围于一台电脑,服务器坏了或许收集断了,就不能用了,盛行SVN

    《git的运用》

  • 分布式版本掌握,放在服务器,不范围一个电脑,电脑之间可以同享,断网或许服务器坏了,电脑之间也会互相接见,治理差别代码的兼并,git,轻易团队开辟过程当中代码的兼并,可以保留一切的汗青记录,轻易随时回滚,保留作者信息

    《git的运用》

事情道理

三个事情地区

  • 事情目次(.git地点的目次,用来存储当前代码)
  • 暂存地区(git暂时存储代码)
  • 当地堆栈(存储全部项目的快照)

四种事情状况

  • 未追踪untraced
  • 已暂存staged
  • 已提交commited
  • 已修正modified

事情流程

  • 设置用户信息:

    • git config –global user.name “自已的名字”
    • git config –global user.email “自已的邮箱地点”
  • 初始化堆栈:git init
  • 增加文件到暂存区:git add 文件名/ 文件途径 “*”或-A代表一切
  • 提交文件:commit -m “解释内容”
  • 检察文件状况:git status
  • 检察提交汗青:git log

回滚

用git reset的体式格局回滚

  • –hard回滚当地的堆栈快照,掩盖暂存区事情区
  • –soft只会回滚当地堆栈的快照,不会掩盖暂存区事情目次
  • –mixed(默许)回滚当地堆栈的快照,而且掩盖暂存区,然则不掩盖事情目次
  • 以后跟上要回滚到的commit的id前几位就可以了
  • HEAD示意当地堆栈的最新快照
  • ^示意上一次快照,多个^的时刻以此类推
  • 当commit的次数过量的时,git log 显现不完全,想要退出这个敕令行须要手动输入q

回滚末了一次提交

  • 作废末了一次提交的操纵
  • git reset –hard HEAD^
  • git reset –hard 倒数第二个commitID

git add的逆操纵

  • 二次add的逆操纵
  • git add是从事情地区到暂存区,add的逆操纵是从暂存区到事情地区,就是事情区的内容稳定,删掉暂存区中的内容
  • git reset –mixed HEAD
  • git reset HEAD
  • git reset 末了一次commitID
  • git rm –cached 文件列表

回滚一切修正操纵

  • 用暂存区掩盖事情目次,事情目次的内容发作转变
  • git checkout 文件列表
  • git checkout . 回滚一切

回滚简朴教程

  • 初始化以后检察状况,文件都是未追踪状况
    《git的运用》
  • 提交一个文件以后再次检察状况
    《git的运用》
  • 将提交的此次操纵commit。此时构成快照,git log以后天生一个唯一的commit的id值,这个id值是经由盘算得出来的,是唯一的
    《git的运用》
  • 举行修正以后再次commit
    《git的运用》
  • 天生两个commit的id,每次新的快照会放到最上边
    《git的运用》
  • 用git reset的体式格局回滚
    –hard回滚当地的堆栈快照,掩盖暂存区事情区
    –soft只会回滚当地堆栈的快照,不会掩盖暂存区事情目次
    –mixed(默许)回滚当地堆栈的快照,而且掩盖暂存区,然则不掩盖事情目次
    以后跟上要回滚到的commit的id前几位就可以了
    《git的运用》

分支

  • master就是分支名,默许只要一个分支,就是master,主分支
  • 检察分支名git branch -a(一切分支) -r(长途分支)
  • 竖立分支git branch 分支称号
  • 切换分支git checkout 分支称号
  • 兼并分支git merge 分支称号(泉源分支)
  • 一个分支就是主分支的副本
  • 删除分支git branch -d 分支称号,分支必需被兼并过才删除
  • 强迫删除分支git branch -D 分支称号
  • 竖立并切换分支git checkout -b 分支称号
  • 删除长途分支git push origin –delete 分支称号
  • 删除长途分支git push origin :分支称号
  • 推送分支的时刻,push加长途堆栈的地点背面要跟上分支称号

长途堆栈

上传

  • git push 长途堆栈的地点 当地分支称号:长途分支称号
  • git push 长途堆栈的地点 当地分支称号

下载

  • git pull 长途堆栈的地点 长途分支的称号:当地分支的称号
  • git pull 长途堆栈的地点 长途分支的称号
  • 第一次猎取代码用clone
  • git clone 长途堆栈的地点 项目称号(可选的)

长途登录

  • telent一种不加密的通讯协定
  • ssh一种协定,用来完成两台盘算机之间的通讯(长途登录)
  • 有下面两种登录要领

    • 运用暗码登录:客户端向服务器发送要求;服务器收到要求以后向客户发送本身的公钥;客户端收到公钥以后保留到指定目次;客户端输入暗码然后公钥加密再次发送要求;服务器吸收到密文以后,用私钥解码然后考证经由过程,从而许可客户端登录
    • 运用公钥和私钥登录:客户端天生本身的公钥私钥(ssh-keygen -t rsa);把客户端的公钥传递给服务器,服务器运用公钥给客户端受权;客户端就可以直接免密登录了

不被治理

  • 如果有愿望不被git治理的文件,零丁竖立一个.gitignore文件,将不被治理的文件的称号放进去就可以了
  • window体系中不许可竖立没有前缀的文件,所以可以经由过程touch要领
  • 在.gitignore文件中到场须要被疏忽的文件的称号

现场

  • 增加一部分内容以后,在不能提交的状况下又须要去完成另一个使命,这时刻可以用保留现场的体式格局git stash
  • 保留以后,文件恢复原状,坚持没有报错,已被提交过的状况
  • 对别的的使命举行处置惩罚
  • 提交以后,再恢复现场git stash pop

比较

  • 比较事情区和暂存的差别git difftool
  • 比较与特定提交的差别git difftool 快照id
  • 比较某两次提交的差别git difftool 快照id 快照id
  • 比较某个分支的差别git difftool 分支称号
    原文作者:神膘护体小月半
    原文地址: https://segmentfault.com/a/1190000016109704
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞