git下载安装和常用命令

官网:Git - Downloadshttps://git-scm.com/downloads

git下载安装和常用命令_第1张图片

因为官网地址下载速度比较慢 所以推荐使用国内镜像下载 

淘宝镜像地址:

CNPM Binaries Mirrorhttp://npm.taobao.org/mirrors/git-for-windows/

git下载安装和常用命令_第2张图片

git下载安装和常用命令_第3张图片

git下载安装和常用命令_第4张图片

git下载安装和常用命令_第5张图片

git下载安装和常用命令_第6张图片

git下载安装和常用命令_第7张图片

git下载安装和常用命令_第8张图片

git下载安装和常用命令_第9张图片

 点击以上操作直至安装成功

安装完成  查看菜单项有三项新增

git下载安装和常用命令_第10张图片

 Git GUI 图像化界面git,不适合初学者使用

 Git CMD   windows下的命令行

 Git Bash    Linux 和 unix下的命令行

卸载  开始菜单邮件点击

git下载安装和常用命令_第11张图片

git 常用指令

$ git config --global user.name 名称

$ git config --global user.email 邮箱     此处邮箱git不做校验

查看是否设置用户名和邮箱设置好  可以通过查看c盘下的用户下的

git下载安装和常用命令_第12张图片

 git下载安装和常用命令_第13张图片

注意: 这里git的账号和以后登录github的不是同一个

初始化本地库   放在D盘下的git目录

 语法:git  init

git下载安装和常用命令_第14张图片

git ll  查看展示的文件

git  ll  -a Linux下查看隐藏的文件

查看本地库的git状态

 语法:git  status

 vim hello.txt  编辑一个文本文件  输入i进入编辑

git下载安装和常用命令_第15张图片

 输入之后点击Esc提出编辑界面,然后点击yy复制,p黏贴

输入:w  :q保存退出一下

cat hello.txt 查看文本内容

tail -n l hello.txt  查看末尾的最后一行

再次查看 git status  如下图

第一行是在master分支下

第二行 还没有添加

第三行hello.txt为红色说明有此文件 但还没有被追踪

怎么才可以被追踪呢,需要执行括号内的语句  也就是git add 命令 把文件添加到暂存区

git下载安装和常用命令_第16张图片

添加到暂存区指令

git  add hello.txt

再次  git status  

第一行  在master分支下

第二行没有提交

第三行 此时发现文件颜色由红色变为绿色  表示git追踪到了文件,存在于暂存区。

可以通过指令git rm --cached hello.text  删除暂存区的文件  注意工作区的文件并没有删除

git下载安装和常用命令_第17张图片

git下载安装和常用命令_第18张图片

 此时再次查看 git status

可以看到第三行文件名称颜色又变为红色 说明暂存区是不存在的 被上面的指令删除了  除非再次操作git add 文件  添加到暂存区

git下载安装和常用命令_第19张图片

暂存区添加完成  那么就要提交本地库

提交本地库

语法:$ git commit -m "first c" hello.text

"first c" 是提交的版本   hello.text 提交的是文件

提交本地库之后再查看状态  git status可以看到 在master分支  没有什么可以提交的 工作树是干净的

git下载安装和常用命令_第20张图片

 使用git reflog命令查看在master分支提交的first c这个版本  

        1948727查看的是前七位的版本号

使用git log指令查看当前提交的具体详情信息  作者  日期 提交的版本 和指针指向的分支

        19487273f1e39a78819e3848e62e2d2f83bfbdce 这个是完整的版本号

git下载安装和常用命令_第21张图片

 修改文件

当我们使用vim  hello.txt 修改第一行 添加数字222222时 然后esc   :wq保存退出 

再git status 查看状态,已修改 颜色为红色 表示没有被追踪或者指针没有指向

git下载安装和常用命令_第22张图片

git add 添加文件 然后再次查看 git status状态 颜色由红色变为绿色 那么文件被添加到暂存区内

git下载安装和常用命令_第23张图片

 $ git commit -m "second c" hello.text 使用此命令提交到本地库  

下面日志输出1行修改  1行新增  1行删除

原理就是先把修改之前的数据删除  然后再把修改之后的数据新增进来

 利用 git reflog 查看版本信息 下图能看到两个版本信息  first c  和 second c 

那么指针指向的是第二个版本

   综上操作步骤,只要修改过之后就会出现不同的状态,然后添加暂存区,提交到本地库

版本穿梭

先通过查看版本的指令  git reflog  或者git log 查看版本号

然后 git reset --hard 版本号 穿梭到指定的版本

下面就是版本穿梭到版本2  指定版本号就可以

穿梭之后再查看版本日志就可以看到指针指向 版本2

我们可以打开我们.git所在目录查看refs--master 打开之后看到文件内容是版本号

就是当前指针只想master分支  分支内记录的当前指向的版本号

git下载安装和常用命令_第24张图片

 那么版本只想的文件内容也会和版本做对应 以后内容就是 063572ba78a10b189a1a231cc5645bad51ca05c0  这个版本指向的内容

总结以上可以随意穿梭指定的版本号  那么内容也会做相应的变更对应的版本号,文本内容文件始终只有一个 但是版本可以有多个 只是指针对应的版本不同 对应的内容发生变更

分支介绍

 版本控制,需要同时推进多个任务,那么我们就可以为每个任务创建多个不同的分支。分支就是从主线分支分离出来,互不干扰,开发完成之后再合并到主分支上,这样就可以达到并行开发的目的。

  查看分支指令

git branch -v

创建分支语法

git branch 分支名称

下图创建了一个dev分支   然后git branch -v  查看分支的版本  可以看到dev分支

git下载安装和常用命令_第25张图片

 切换分支

命令 git checkout 分支名称

git下载安装和常用命令_第26张图片

 创建分支之后,针对dev分支进行vim hello.txt,:wq保存退出

然后git add 添加到暂存区  git commit -m “dev版本号”  文件

合并分支

 语法:git merge dev 

就是把指定的分支合并到当前分支上,上面的意思就是把dev 分支合并到当前所在的master上

 这种情况是分支的正常合并git下载安装和常用命令_第27张图片

 还有一种情况是代码冲突的合并

产生的情况,两个分支在同一个文件的同一个位置发生两种完全不同的修改,此时git无法帮我们确定使用哪个,那么必须由人为的决定新代码内容

首先我们现在master分支下修改hello.text,添加master test内容  git  add 添加到暂存区

git commit -m “master test”

git下载安装和常用命令_第28张图片

 然后切换到dev分支添加内容最后一行 dev test   然后git add hello.text   再git commit -m “dev test”  hello.txt

重新切换为master分支在主分支上合并dev分支  

合并之后发现红色的框内,出现冲突两个分支   因为修改了同一个文件

git下载安装和常用命令_第29张图片

 我们能该看到 <<<<<<<和====== 是当前分支的代码  ====== 和>>>>>>>>之间是需要合并的分支代码的内容,就是冲突的内容  需要人工手动调整  git下载安装和常用命令_第30张图片

 那么我们  vim hello.text进入文件 查看文件内容 调整冲突部分  就是把更新后需要保留的留下来其他的多余的删除  esc :wq保存退出

git下载安装和常用命令_第31张图片

 保存退出后 那么再git add hello.txt

此处注意  在commit时 不能指定文件名 指定文件名会报错 因为不知道是哪个文件 如下图

 正确的做法是把文件名去掉

 下面就是合并成功的hello.txt文件git下载安装和常用命令_第32张图片

 master分支切换到dev分支后 cat hello.txt 查看分支内容 和master不同git下载安装和常用命令_第33张图片

 团队合作

    团队内部合作 看图说话

git下载安装和常用命令_第34张图片

 跨团队合作git下载安装和常用命令_第35张图片

 创建远程仓库  github上创建

以下使用git创建远程仓库使用的指令

git下载安装和常用命令_第36张图片

你可能感兴趣的:(git,github)