git的使用

git是什么?

Git 是目前世界上最优秀的分布式版本控制系统。版本控制系统是能够随着时间的推进记录一系列文件的变化以便于你以后想要的退回到某个版本的系统。

版本控制系统分为三大类:本地版本控制系统,集中式版本控制系统和分布式版本控制系统

svn和git都是版本控制工具

svn是集中式的

git是分布式的版本控制管理工具

点击下载 

https://link.juejin.im/?target=https%3A%2F%2Fgithub.com%2Fgit-for-windows%2Fgit%2Freleases%2Fdownload%2Fv2.14.1.windows.1%2FGit-2.14.1-64-bit.exe

 安装界面:

一般情况一致点击Next就好啦

安装完成后配置全局变量,如何配置查看此前的  包管理工具篇  :  前端包管理工具—bower

鼠标右键,点击Git Bash Here  进行操作

Bash基本操作命令

1.pwd    查看当前所在目录

2.cd 目录    进入对应的目录

    cd ..        返回上一级

3.ls      查看当前文件夹的内容  可以传递参数

 ls -a        可以把隐藏的文件或者文件夹全部列出来

ls -l         文件或者文件夹的详细信息

ls -al

参数的形式和正则的参数形式用法类似(不分先后,可以多个或者没有)

4.mkdir   创建目录 

     mkdir css js img 

5.touch   创建文件

     touch index.html

6.cat      查看文件的全部内容

7.less     分页浏览

      less index.html

      回车表示换行阅读

      空格表示分页阅读

      q退出

8.rm      删除文件,不能删除目录

9.rmdir    删除文件夹

      只能删除空的文件夹,并没有什么用

10.rm-r    使用递归的方式删除带文件的文件夹

      rm –r 文件夹

11.mv     剪贴操作,并且可以改名字

      mv old new

12.cp      复制,并且可以改名字

13.head    阅读文件的前多少行

      head –n 5 index.html

      head -5 index.html

14.tail      阅读文件的后多少行

      参照上面

15.history 查看历史输入的命令

16.>  >>  重定向   

      > 表示覆盖        

      >> 表示追加

            echo hello > abc.html

            ls –la >> abc.html

17.wget 下载

      wget 资源包

18.tar   解压缩

19.curl  网络请求

      curl https://www.baidu.com/ > baidu.html

20.whoami   查看当前计算机的用户

21.grep    匹配内容

     grep 需要匹配的内容 匹配的文件

     grep 100 index.html

22.  |     管道符

     将上一次的结果作为参数传递过来

     ls –al | grep s

 

VI编辑器

什么是vi编辑器?

类似于windows底下的记事本,编辑文件,修改文件…

   VI编辑器   三种模式

   命令模式、插入模式、底行模式

   命令模式  -> 插入模式     输入i     退出ESC  

   命令模式   ->   底行模式     输入shift + :   退出ESC

 插入模式和底行模式是不能直接相互切换的

vi index.html     进入的是命令模式

命令模式中的操作:

ZZ(大写)     保存并退出 

u              撤销

dd             删除当前行

yy             复制当前行

p              粘贴

ctrl+f         向下翻页

ctrl+b         向上翻页

命令模式切换到插入模式

i

a

A

o

O

底行模式:

    :w     保存文件

    :q     退出

    :wq    保存并退出

    :q!    强制退出

    :e!    撤销

    :set nu       设置显示行数

Git操作

Git工程有三个工作区域:工作目录,暂存区域,以及本地仓库。

工作目录是你当前进行工作的区域(放编辑时的代码   );

暂存区域是你运行git add命令后文件保存的区域(暂时存储),也是下次提交将要保存的文件(注意:Git 提交实际读取的是暂存区域的内容,而与工作区域的文件无关,这也是当你修改了文件之后,如果没有添加git add到暂存区域,并不会保存到版本库的原因);

本地仓库就是版本库,记录了你工程某次提交的完整状态和内容,这意味着你的数据永远不会丢失。

git的仓库有两个(远程和本地是可以关联的)

git本地仓库,就是系统中的文件夹

git远程仓库,就是github,或码云等

 

一般代码提交流程为:工作区 -> git status 查看状态 -> git add . 将所有修改加入暂存区-> git commit -m "提交描述" 将代码提交到 本地仓库 -> git push 将本地仓库代码更新到 远程仓库

 

如何操作?

以下内容适用于GitHub

git本地仓库

1.初始化本地仓库

git init

    里面就多了一个.git的隐藏文件夹,就是git的本地仓库

 如何验证:

  1. 会有一个主分支(master)
  2. 可以通过ls –al 命令查看是否有.git文件夹

2.配置用户信息

    设置自己的用户名,设置自己的邮箱

git config --global user.name “用户名”

git config --global user.email “邮箱”

   

3.  查看仓库的状态(以暂存区为主)

git status  

Untracked files:   红色的,表示没有追踪到的文件

绿色的就是代表暂存区的文件

modified:   表示被修改的文件,工作区和暂存区的文件不一样

 

4.git add *(-A)

    将工作区的所有文件放到暂存区

 

5.git checkout 文件名     不常用,不可恢复

    把暂存区的内容还原到工作区

   git checkout index.html

6.git commit -m “注释说明”

   将暂存区的所有内容放到git仓库

    会生成一个唯一编号9bb740523ff0d21fa77f2ec68bd07c309568be3c

   

7.git log

   查看历史提交的版本

8.git reset --hard 唯一ID(参照第六条命令中的格式)

分支

当变成了git仓库的时候,就已经有一个master分支,master是主分支

分支的作用主要是做bug修复,协同开发

9.git branch   查看分支

      * 绿色的   表示当前所在的分支

10.git branch 分支名

      创建分支

注意: 需要先 

  git add .   

  git commit -m "注释"

然后

  git branch 分支名

11.git checkout 分支名

      切换分支

12. git checkout   历史版本

  切换历史版本

13.git merge 分支名

      在当前分支底下合并分支

14.git branch -d 分支名

      删除分支

15.git branch -D 分支名

      强制删除分支,分支没有合并的时候强制删除

16,查看远程仓库所有分支:git branch -a

如果出现冲突,只有自己做对比手动的删除 

GitHub使用

第一件事设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:

git config --global user.name “user”

git config --global user.email “邮箱”

只需要做一次这个设置,如果你传递了--global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。

如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要--global选项。 

总之--global为全局配置,不加为某个项目的特定配置。

在命令行中,如果不报错,基本都是ok的

查看是否配置成功

1. C:UsersAdministrator    中有个.gitconfig文件,里面放的用户名和邮箱

2.git config --list

搭建git服务器(远程仓库):统一的托管网站(https://github.com

为了在本地和远程之间进行免密钥登录,可以配置ssh

配置ssh:先在本地配置,发送给远程

先在本地生成ssh  一直回车

ssh-keygen -t rsa -C “github用户注册邮箱”

 

在C:UsersAdministrator文件夹中会生成一个.ssh的文件夹

里面有两个文件

 

进入github,如果没有就先注册

注册成功以后 settings  ->   SSH and GPG keys   ->   New SSH key

title就是本地和远程关联的名字

key就输入   上一步的id_rsa.pub里面的内容

粘贴进来以后一定要删掉最后一个回车符

测试通信是否成功

ssh -T git@github.com

成功以后.ssh文件夹会多一个known_hosts文件

成功以后本地和远程可以成功通信

如果失败:多尝试几次,检查回车符

 

到现在已经是把本地仓库和远程仓库已经关联

项目关联

在本地新建git项目

在本地项目根目录进入git bash

在远程建立项目 Your profile -> Repositories -> new

   项目唯一标识符

本地项目和远程项目关联

git remote add origin  项目唯一标识符

 

到这一步项目已经关联成功

推送和拉取项目

第一次发布项目 (本地-远程)

git push -u origin master       把本地仓库的所有内容推送到远程仓库

强制提交

git push -u origin master -f 

第一次下载项目 (远程-本地)

git clone git@github.com:hanyeweb/mygitremove.git

提交(本地-远程)

git push origin master

更新(远程-本地   拉取)

git pull

 

原文地址:https://www.cnblogs.com/wxyblog/p/11405152.html