git的简单介绍

git是分布式版本控制工具

git 的基本操作指令

git的初始化操作

git init

初始化git仓库

git add 文件名

git add .

把文件 添加到 git 暂存区中

git status

查看git 的状态

出现红色说明有文件,修改了但还没提交到暂存区

git diff 查看修改了哪些文件 增加了哪些行,删除了那些行

git diff --cached 查看修改了那些文件

查看的是修改是暂存区的修改和修改了但未暂存之间的对比

git commit -m “文字描述” 将暂存区的数据提交到本地仓库

git rm -f 强制删除 暂存区中的 文件 (会把文件从磁盘一并删除) 有数据,但更改的数据还没放到本地仓库

git rm 文件名 删除文件(会把文件从磁盘一并删除) 暂存区数据已经提交到本地仓库

git rm --cached   将数据从仓库中删除(或)暂存区中删除,但不会删除磁盘的文件

cached 缓存

git log 查看 git 的 版本提交信息

git mv README.md README

对文件进行改名操作

取消工作区做的修改,让工作区的文件和暂存区的文件内容一样,消除git diff的差异

git checkout -- CONTRIBUTING.md

将已提交到暂存区的文件撤销为未暂存状态

git reset HEAD CONTRIBUTING.md

使用git status 就可以查看下面操作的可选命令

git reset --hard commit号

返回上一个提交的版本

git的分支

git checkout -b dev

创建并切换dev分支

git branch dev 创建dev分支

git branch

查看当前所属分支

git checkout master 切换到master分支

git merge dev 合并分支

合并后就有dev分支上提交的版本信息

git branch -d dev

删除dev分支

合并冲突问题

先创建一个dev分支 提交

然后再切换回master分支,再提交

且2个提交的分支都修改了同一个文件

然后把dev分支合并到master分支上,产生冲突

分支切过来是看不到的

git远程仓库操作

git push origin 分支名 当分支推送到远程

得推送工作分支上去才行

推送主分支不行的

git push origin 分支名 --force 强推 嘿嘿

git clone “仓库地址” 把仓库下载到本地

跟踪远程分支 跟踪完 直接 git push 就可以了

git pull origin 分支名

把远程的分支拉取到本地

拉下来后,如果远程分支已经做了修改,它就会自动同步远程的代码,并提交一次commit 向本地仓库

git branch --set-upstream-to=origin/smart smart 本地的smart分支跟踪远程的smart分支

git 撤销提交的 commit 操作

写完代码后,我们一般这样

git add . //添加所有文件

git commit -m "本功能全部完成"

执行完commit后,想撤回commit,怎么办?

这样凉拌:

git reset --soft HEAD^

这样就成功的撤销了你的commit

注意,仅仅是撤回commit操作,您写的代码仍然保留。

说一下个人理解:

HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

至于这几个参数:

--mixed

意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作

这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

--soft

不删除工作空间改动代码,撤销commit,不撤销git add .

--hard

删除工作空间改动代码,撤销commit,撤销git add .

注意完成这个操作后,就恢复到了上一次的commit状态。

顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:

git commit --amend

此时会进入默认vim编辑器,修改注释完毕后保存就好了

git使用的常见命令汇总的更多相关文章

  1. Git笔记:Git介绍和常用命令汇总

    Git 是一个开源的分布式版本控制系统,与 CVS, Subversion 等不同,它采用了分布式版本库的方式,不需要服务器端软件支持. 工作流程 Git 的工作流程大致如下: 克隆 Git 资源作为 ...

  2. git使用的常见命令(一)

    .查看当前有哪些branch git branch 其中有*选中的分支是你的当前使用的分支 .新建一个分支 git branch dev_xiaoming .切换到一个分支 git checkout ...

  3. git笔记(2)-常见命令的使用(详解待续)

    1. 常用命令 (1)git --help 帮助命令,其他的类似 (2)git branch 查看分支及其他(创建分支,查看远程分支名称等) (3)git checkout 切换分支以及其他 (3)g ...

  4. 小白笔记:Git入门之常见命令

    安装 这里就不介绍安装了,度娘一大堆,找不到可以去找谷爹(前提是你能找到).安装好就跟着笔记进行下一步 准备工作 首先我们需要一个可以 git 的东西,所以我们需要一个文件夹和一个文件 创建文件夹 t ...

  5. git的一些常见命令

    一.新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-name] # 下载一个项目和它的整个代码 ...

  6. GCC常见命令汇总

    int main() { test(); } man.c如上: #include <stdio.h> void test() { printf("test\n"); } ...

  7. Linux常见命令汇总

    1.rz sz上传下载 若未安装使用:yum install lrzsz 安装 上传: rz 覆盖上传: rz -y 下载: sz bbb.jpg

  8. 最常见的 Git 问题和操作清单汇总

    最常见的 Git 问题和操作清单汇总 引言 本文整理自工作多年以来遇到的所有 Git 问题汇总,之前都是遗忘的时候去看一遍操作,这次重新整理了一下,发出来方便大家收藏以及需要的时候查找答案. 一.必备 ...

  9. windows下使用Git命令汇总

    这里只是简单汇总下Git主要命令,方便记忆:汇总的不好,请各位包容,谢谢!想看详细讲解,推荐廖雪峰大神的教程,地址如下:http://www.liaoxuefeng.com/wiki/00137395 ...

随机推荐

  1. 闲着没事,做个chrome浏览器插件,适合初学者

    时光偷走的,永远都是我们眼皮底下看不见的珍贵. 本插件功能:替换掉网页中的指定图片的src地址. 使用插件前: 使用插件后: 鲜花(闲话):这个网站的不加水印的图片连接被保存在,图片的data-ima ...

  2. 安卓中运行报错Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决

    在androidstuio中运行我的未完项目,报错: Error:Execution failed for task ':app:transformClassesWithDexForDebug'.&g ...

  3. Mybase desktop7.3破解

    1.Mybase Desktop 7.3 安装包 百度云链接: 链接:https://pan.baidu.com/s/1mWZ2_Qmkf6aAX9CYgrN12A 提取码:vjw7 2.破解包 百度 ...

  4. 异步加载css 和 谷歌浏览器各实用小工具介绍

    异步加载css资源 加开页面首屏显示速度使我们前端一直在追求的目标,而css资源在这些优化中同样也是不可或缺的. 一个网站可能有一部分css资源是必须的,他需要在页面渲染完之前就被加载完,并和html ...

  5. 洛谷p1119--灾难后重建(Floyd不仅仅是板子)

    问题描述 询问次数  5 000 00,   顶点数  200 怎么办? dijkstra?对不起,超时了/. 时间限制是1秒,询问5 000 00 ,每次dijsktra要跑n*n*logm 次,稳 ...

  6. DOCKER学习_004:Docker网络

    一 简介 当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的docker容器会连接到这个虚拟网桥上.虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过 ...

  7. 在C#中使用二叉树实时计算海量用户积分排名的实现

    从何说起 前些天和朋友讨论一个问题,他们的应用有几十万会员然后对应有积分,现在想做积分排名的需求,问有没有什么好方案.这个问题也算常见,很多地方都能看到,常规做法一般是数据定时跑批把计算结果到中间表然 ...

  8. 1025 反转链表 (25 分)C语言

    题目描述 给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转.例如:给定L为1→2→3→4→5→6,K为3,则输出应该为 3→2→1→6→5→4:如果K为4,则输出应该为4→3→2→1→5 ...

  9. 那天晚上和@FeignClient注解的深度交流

    废话篇 那晚,我和@FeignClient注解的深度交流了一次,爽! 主要还是在技术群里看到有同学在问相关问题,比如: contextId是干嘛的?name相同的多个Client会报错? 然后觉得有必 ...

  10. centos7下图形界面和命令行界面切换

    在图形界面使用 ctrl+alt+F2切换到dos界面 dos界面 ctrl+alt+F2切换回图形界面 在命令上 输入 init 3 命令 切换到dos界面 输入 init 5命令 切换到图形界面 ...