git常用操作命令1
1. 本地库初始化操作
命令: git init
效果:
Initialized empty Git repository in E:/ws/git/ws/.git/
会在当前目录(E:/ws/git/ws)下面创建一个.git目录。
.git目录下面有以下内容:

注意: .git目录下面的内容不要乱改,不然git就不能使用。
2. 设置签名
形式:用户名,和 Email地址,用于标识开发人员的身份。
注意:这个用户名与远程代码托管中心的用户名和密码没有任何关系。
签名:可以分为项目级别(仓库级别)或 系统级别。 优先级: 项目级别 > 系统用户级别
命令:
项目级别:
git config user.name 用户名
git config user.email 邮箱
系统用户级别:
git config --global user.name 用户名
git config --global user.email 邮箱
项目级目的信息保存位置: .git/config
系统用户级别信息保存位置: ~/.gitconfig
3. git命令
git status # 查看状态

master分区, 没有可以提交的东西(创建/拷贝文件 并且 使用 git add 去追踪)
<1> 创建一个文件 good.txt
vim good.txt
<2> git status

未追踪的文件 good.txt (使用 git add 提交)
git add filename # 将filename 提交到 暂存区
git add good.txt # 将good.txt 提交到 暂存区

<1> 再使用git status查看状态

使用git rm -- cached 命令 删除 暂存区的文件,从而使文件变成 unstage状态
<2> 删除暂存区文件

good.txt 文件又报红色了,变成了untracked未追踪状态。

工作区的文件还是存在的。
git commit filename -m 'commit message ' # 从暂存区提交到本地库


工作区clean了,也就是从没有未提交的文件。
<1> 修改good.txt文件内容,然后git status

<2> 提交
git add good.txt
git commit good.txt -m 'second commit'
4. 查看历史版本
(1) 第1种方式 git log
最完整的形式, 多屏示时,空格向下翻页,B向上翻页 , Q退出

(2) 第2种方式 git log --pretty = oneline

(3) 第3种方式 git log --oneline

(4) 第4种方式 git reflog

5. 前进/后退
通过指针来控制 ,指针的名称就是HEAD

git有3种方式控制指针的前进后退:
<1> 基于索引值来操作【最好吧】
操作示例:
先看一下当前版本good.txt的内容

再看一下版本历史

假设我们要后退到2f7faba版本,便可使用以下命令:
git reset --hard 2f7faba

当前版本指针是2f7faba, 第3次commit.
最后查看一下good.txt的内容:

达到我们想要的目的。
再看一下git操作日志
git reflog

可以看到HEAD指针是2f7faba,如果要前进到9b0aa78版本,还是使用git reset --hard 命令

完美!!!
<2> 基于^符号【只能后退,不能前进】

当前指针是9b0aa78, 使用git reset --hard HEAD^ 命令之后,后退一步,应该就是2f7faba

确实后退到了2f7faba版本, 查看文件内容也是

注意:
git reset --hard HEAD^ # 从当前版本后通一步
git reset --hard HEAD^^ # 从当前版本后通两步
git reset --hard HEAD^^^ # 从当前版本后通三步
<3> 基于~操作
使用git reset --hard HEAD^ 后退有点尴尬,如果是后退10步,就得写10个^,所以可以使用如下命令来代替:
git reset --hard HEAD~10 #从当前版本后通10步。
reset命令比较:
(1) git reset --soft
仅在本地库移动HEAD指针
(2) git reset --mixed
本地库移动HEAD指针; 重置暂存区
(3) git reset --hard
本地库移动HEAD指针; 重置暂存区;重置工作区
注意: 通过git reset --hard 版本号 可以找回删除到的文件, 但是也有个前提,那就是文件已经提交到了本地库
6. 比较文件
命令: git diff
(1) git diff [文件名] # 将工作区中的文件与暂存区进行比较
(2)git diff [本地库中的历史版本] [文件名] # 将工作区文件与本地库历史记录进行比较
(3) git diff # 不带文件名,表示比较多个文件
7. 分支
在版本控制过程中,使用多条线进行控制
分支操作:
(1) 查看所有分支: git branch -v

(2) 创建分支
git branch 分支名称

(3)切换分支
git checkout 分支名称

(4)合并分支
fix分支a.txt文件内容如下:

master分支a.txt文件内容如下:

现在欲将fix分支a.txt 合并到 master分支中去,操作如下:
《1》 先切换到master分支 (注意: 要合并到哪个分支就切换到那个分支去操作)
《2》 执行merge命令
git merge 分支名称

(5) 分支合并时冲突解决

现在master分支与fix分支完全相同,我们修改fix分支a.txt内容,同时也修改master分支中a.txt的内容,并且修改的内容还不相同,此时,在执行merge操作时,就会产生冲突。
修改之后的内容:


本次我们将master分支合并到fix分支。

注意看分支状态(fix|merging)----> 处于合并状态
查看合并的文件a.txt, 内容如下:

这就需要我们手动去合并了。。。。。。。。。。。。。
如何做,就是手动去编写文件a.txt了。。。。我将文件内容改成如下所示:

然后,git status查看一下状态

标记解决: git add [filename]

最后git commit提交即可,注意不能带文件名

git常用操作命令1的更多相关文章
- Git常用操作命令与图解
Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...
- 2018.4.23 git常用操作命令收集(转)
Git常用操作命令收集: 1. 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v ...
- Git常用操作命令收集
Git常用操作命令收集 1.进入本地仓库访问位置之后执行命令 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远 ...
- git常用操作命令
使用git进行版本控制,分为两部分: 一: 服务端 1.1 首先要申请一个git的账号,方便团队协作.推荐开源中国(www.oschina.net),相对于github来说,有两个优点:1.访问速度很 ...
- 记录git常用操作命令
GIT的常用操作 0.写在前面 作为一名开发者,熟悉使用 git 代码管理工具是一项必备的基本技能.git 相较 SVN 而言,其优点不言而喻.git 的功能非常强大,其包括的操作命令也非常的多,但是 ...
- git 常用操作命令
A. 新建Git仓库,创建新文件夹git init B. 添加文件到git索引git add <filename> --- 单个文件添加git add * --- 全部文件添加 C. 提 ...
- git常用操作命令使用说明
设置用户名和邮箱 git config --global user.email 'xxx' git config --global user.name 'xxx' 创建分支 git branch xx ...
- git 常用操作命令行
mkdir files : 创建一个名字为files的文件夹 cd files : 切换目录到files pwd ; 显示当前所在目录 ls -ah : 查看本地隐藏不可见的文件夹 git init ...
- git常用操作命令2
以github为例,测试本地库与远程库github之间的交互 1. 本地初始化一个git库 创建一个test文件夹,然后cd到test文件内, 执行git init命令 初始化本地库成功!! ...
随机推荐
- p4463 [国家集训队] calc
分析 代码 #include<bits/stdc++.h> using namespace std; ][],Ans; inline int pw(int x,int p){ ; whil ...
- Netty精进01
为什么要学习Netty? 目前基于Netty实现的一些优秀的开源框架:Dubbo.RocketMQ.Spark.Spring5.Flink.ElasticSearch.gRPC……这些还说明不了为什么 ...
- 同余dp
先验知识: 余数的计算公式:c = a -⌊ a/b⌋ * b 其中,⌊ ⌋为向下取整运算符,向下取整运算称为Floor,用数学符号⌊ ⌋表示 题目: Consider an arbitrary se ...
- (appium+python)UI自动化_10_adb常用命令
前言 adb(Android Debug Bridge)工具是android-sdk里的一个工具,是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互.在app自动化测试过程中,有时要用到adb命 ...
- shtml与html
前言 在浏览网页的时,忽然发现了一个网址不是以[.html]结尾,而是[.shtml].顿时勾起了我的好奇心,这是什么鬼?于是打开google,开始维基. SHTML 什么是 SHTML 使用SSI( ...
- Fira Code,可以让不等号!=直接显示出来的字体
今天看B站某直播间有人写代码C#里一堆不等号直接显示,感觉很神奇,以为是插件还是什么新语法,托人问了下原来是Fira Code字体 https://github.com/tonsky/FiraCode ...
- 微信小程序这一块(续)
1.设置头部的信息 通过wx.setNavigationBarTitle 详情见:https://developers.weixin.qq.com/miniprogram/dev/api/ui/nav ...
- ELK日志分析系统之Kibana7.x最新版安装与配置
3.Kibana的简介 Kibana 让您能够自由地选择如何呈现自己的数据.Kibana 核心产品搭载了一批经典功能:柱状图.线状图.饼图.旭日图等等. 3.1.软件包下载地址:https://www ...
- Asp.Net Core 发布和部署 Linux + Nginx
安装.NET Core SDK 官方介绍:https://dotnet.microsoft.com/download/linux-package-manager/centos/sdk-current ...
- SpringBoot-技术专区-详细打印启动时异常堆栈信息
SpringBoot在项目启动时如果遇到异常并不能友好的打印出具体的堆栈错误信息,我们只能查看到简单的错误消息,以致于并不能及时解决发生的问题,针对这个问题SpringBoot提供了故障分析仪的概念( ...