博客
关于我
Git与Github基本操作
阅读量:268 次
发布时间:2019-03-01

本文共 2139 字,大约阅读时间需要 7 分钟。

Git&Github:版本控制工具

1:Git安装

Git的安装详解请移步至另一篇文章

2:Github的本地结构:

1:工作区:写代码的地方

通过`git add`命令将工作区文件上传到暂存区

2:暂存区:临时存储

通过'git commit'命令将暂存区文件上传至本地库

3:本地库:历史版本

3:初始化操作:

在这里插入图片描述

本地库初始化:

git init

(本地化仓库后.git目录中存放的是本地库相关的子目录和文件,不要删除,修改)

在这里插入图片描述

4:设置签名:

在这里插入图片描述

用户名:***Email地址:*********@****.com(设置的签名和登录远程仓库(代码托管中心)的账号,密码没有任何关系。)

5:命令

项目级别/仓库级别:仅在当前本地仓库范围内有效

git config user.name ***git config uesr.email *****@***.com**信息保存目录:当前项目./.git/config

系统用户级别:登录当前操作系统的用户范围

git config --global user.name *****git config --global uesr.email *****@***.com信息保存位置:~/.gitconfig

级别优先级:

就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名如果只有系统用户级别的签名,就以系统用户级别的签名为准二者都没有时不允许

6:进入当前项目文件夹

在这里插入图片描述

使用vim编辑一个C文件
在这里插入图片描述

在这里插入图片描述

显示当前仓库信息(状态查看)

git status

添加文件至缓存区

在这里插入图片描述

在这里插入图片描述

git add + 文件名

从暂存区撤回

在这里插入图片描述

git rm --cached main.c

从暂存区提交至本地库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

git commit main.cgit commit -m "版本更改信息" 《文件名》

7:版本穿梭测试的准备:

在这里插入图片描述

查看版本信息

git log

在这里插入图片描述

以简介形式展示添加过的版本信息

git log --pretty=oneline

在这里插入图片描述

以显示一部分哈希值展示

git log --oneline

调出所有版本信息

git reflog

版本的前进后退操作:

本质:是对HEAD指针的操作

1:基于索引值操作:

git reset --hard 【索引值】

2:使用^符号【只能后退】

git reset --hard <<<     (一个退一步,以此类推)git reset --hard~3

3:使用~符号【只能后退】

git reset --hard~3        (~3,后退3步)

reset参数区别:

--soft		在本地库移动指针--mixed		在本地库移动HEAD指针并且重置暂存区--hard		在本地库移动指针,充重置暂存区和工作区

8:永久删除文件后找回

前提		删除前,文件存在时的状态提交到了本地库删除		rm 
<文件名>
找回 倒回到上一个版本,从而找回上一个版本文件 git reset --hard 【指针位置】 删除操作已经提交到本地库:指针位置指向历史记录 删除操作尚未提交到本地库:指针位置使用HEAD

9:比较文件差异:

git diff 《文件名》

将工作区的文件和暂存区的文件比较

git diff 【本地库中历史版本】【文件名】

将工作区中的各个文件和本地库历史文件比较

git diffgit diff HEAD

不带文件名比较多个文件

10:Git分支:

Git分支管理的本质是创建和移动指针

修复bug时,会创建一个hot_fix的分支,热修复在程序运行时进行维护

查看分支:

在这里插入图片描述

git branch -v

创建一个新的分支

在这里插入图片描述

git branch hot_fix(***分支名)

切换分支

在这里插入图片描述

git checkout 
<分支名>

合并分支:

①:切换到接受修改的分支(被合并,增加新内容)上				git checkout 【被合并分支名】	②:执行merge命令				git merge 【有新内容的分支】

解决冲突

①:编辑文件,删除特殊符号		②:把文件修改到你满意的程度,保存退出编辑器		③:git add【文件名】		④:git commit -m ”日志信息“			注意:此时commit一定不能带具体文件名

11:哈希算法(加密算法)

特点:不管输入数据的数据量有多大,输入同一个哈希算法,加密结果长度固定	哈希算法确定,输入数据有变化,输出数据一定有变化,而且通常变化很大	哈希算法确定,输入数据确定,输出数据能够保持不变	哈希算法不可逆	Git底层采用的是SHA-1算法		在服务器端对文件用SHA-1算法运算。下载之后再次对文件进行运算,得到的输出数据一样,则证明文件传输过程中无数据丢失

12:注册Github账号创建远程仓库:

创建完成之后进入你创建的仓库会得到一个HTTP的网址,复制进入Git Bash

在这里插入图片描述

在这里插入图片描述

git remote -v "地址别名" + 地址

在这里插入图片描述

13:推送操作:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

git push “仓库名” “分支名"

推送到github上之后:

在这里插入图片描述
在这里插入图片描述

14:克隆操作:

初始化本地库

完整的把远程库下载本地库
在这里插入图片描述

git clong + ”克隆时的远程库地址“

转载地址:http://ulsa.baihongyu.com/

你可能感兴趣的文章
MS Edge浏览器“STATUS_INVALID_IMAGE_HASH“兼容性问题
查看>>
ms sql server 2008 sp2更新异常
查看>>
MS UC 2013-0-Prepare Tool
查看>>
MSBuild 教程(2)
查看>>
msbuild发布web应用程序
查看>>
MSB与LSB
查看>>
MSCRM调用外部JS文件
查看>>
MSCRM调用外部JS文件
查看>>
MSEdgeDriver (Chromium) 不适用于版本 >= 79.0.313 (Canary)
查看>>
MsEdgeTTS开源项目使用教程
查看>>
msf
查看>>
MSSQL数据库查询优化(一)
查看>>
MSSQL数据库迁移到Oracle(二)
查看>>
MSSQL日期格式转换函数(使用CONVERT)
查看>>
MSTP多生成树协议(第二课)
查看>>
MSTP是什么?有哪些专有名词?
查看>>
Mstsc 远程桌面链接 And 网络映射
查看>>
Myeclipse常用快捷键
查看>>
MyEclipse更改项目名web发布名字不改问题
查看>>
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>