一、新手上路

最重要的4招:

1. 初始化本地仓库

git init

或者

git clone 远程仓库地址

2.添加改动文件

git add 改动的文件名或者目录

偷懒的话可以直接

git add .

.表示添加当前目录及子目录下的所有改动文件

3.提交改动

git commit -m "改动原因"

若一次提交所有更改,则使用-a参数可以省略git add命令

git commit -a -m "改动原因"

4.推送到远程仓库

git push

二、常用命令

git status:查看所有未提交的改动

git diff:逐条查看代码具体变动(随时按q键退出)

git log:查看git的提交记录

git reflog:查看所有分支所有操作记录,包括commit和reset操作,以及被删除的commit记录

git reset:回退操作

三、 实用操作

1. 用远程仓库覆盖本地

git fetch -all
git reset -hard origin/master #master可以修改为其他分支
git pull

2.版本回退

已提交且推送的回退:

git reset --hard HEAD^
git push -f

已提交但未推送的回退:

git reset --hard origin/master

未提交的回退:

git reset --hard

hard参数可以换成soft、mixed,意义如下:

--soft:仅仅恢复头指针,已经add的暂存区和工作空间的所有文件都不变

--mixed:恢复头指针,已经add的暂存区也会丢失,但工作空间的代码不变

--hard:恢复头指针,add的暂存区消失,工作空间的代码也恢复到以前状态

HEAD^参数可以换成head、HEAD^^、HEAD~n,或者版本号等,意义如下:

head:回退到当前版本

HEAD^:回退到上一个版本

HEAD^^:回退到上上一个版本

HEAD~3:回退到往上3个版本

HEAD~4:回退到往上4个版本

e1bd3bf:回退到e1bd3bf版本(版本号可通过git reflog命令查看)

......

3.分支合并

合并远程分支dev到本地

git fetch origin dev:dev2  #创建远程分支dev的本地分支dev2
git merge dev2
git branch -d dev2

若改动不多,也可以直接拉取

git pull 远程仓库分支

此时git pull = git fetch +git merge

4.忽略文件

将忽略的文件名后缀或目录写入.gitignore,清空本地缓存

git rm -r --cached .  #最后的点号可以换成目录名或文件后缀名

git入门123的更多相关文章

  1. Git入门图文教程(1.5W字40图)🔥🔥--深入浅出、图文并茂

    01.认识一下Git!-简介 Git是当前最先进.最主流的分布式版本控制系统,免费.开源!核心能力就是版本控制.再具体一点,就是面向代码文件的版本控制,代码的任何修改历史都会被记录管理起来,意味着可以 ...

  2. git入门网站

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 git入门教程:对商业的.开源的. ...

  3. git入门及上传项目到github

    Git入门:       如果你完全没有接触过Git,你现在只需要理解通过Git的语法(敲入一些命令)就可以将代码上传到远程的仓库或者下载到本地的仓库(服务器),我们此时应该有两个仓库,就是两个放代码 ...

  4. Git入门仅这篇就够了

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/5978937.html 前言 大家好,我是Cavalier ...

  5. git入门学习(二):新建分支/上传代码/删除分支

    一.git新建分支,上传代码到新的不同分支  我要实现的效果,即是多个内容的平行分支:这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰.如图所示: 前提是我的github上已经有we ...

  6. git入门学习(一):github for windows上传本地项目到github

    Git是目前最先进的分布式版本控制系统,作为一个程序员,我们需要掌握其用法.Github发布了Github for Windows 则大大降低了学习成本和使用难度,他甚至比SVN都简单. 一.首先在g ...

  7. Git入门简介

    ​1. Git 背景 Git 最初由Linus Torvalds编写,用于 Linux 内核开发的版本控制工具. Git 与常用的版本控制工具 CVS.Subversion 等不同,它采用了分布式版本 ...

  8. [置顶] 【Git入门之十五】Github操作指南

    原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12374633 最终篇,介绍一下Github网站的使用,主要是翻译为主,简化了 ...

  9. Git入门—创建项目

    Git入门—创建项目 注:win10系统下 打开Git Bash,进入存放仓库的目录 创建 初始化git init,该命令执行完后会在当前目录生成一个 .git 目录. 所有 Git 需要的数据和资源 ...

  10. git 入门教程

    git 入门教程之协同开发 前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协 ...

随机推荐

  1. vue中当数据改变时更新DOM

    具体场景: 当vue中使用swiper, better-scroll时候,我们需要去new Swiper,new [better-scroll]来获取实例,通常我们页面的数据都是异步获取的, 会导致我 ...

  2. 记录一次Python环境安装出现的问题(已安装java)

    之前是在其他电脑上安装python环境,没有问题. 换了一台电脑开始安装(注:已配置java环境) 安装包准备好 ( 这里使用的是python 3.6.5(64位) ,下载地址选择官网) 教程百度都有 ...

  3. Neo4j插件安装

    Neo4j插件安装 Author:wss Date:2022.6.9 Topic:Neo4j插件安装 一.前言 昨天再次安装Apoc插件,又去找之前看的教程,有些地方不够清晰要几个教程对比着看,想到可 ...

  4. vue跨行跨列动态表格生成

    一.思路步骤: 根据后台传输的数据进行格式转化: 索引为多少的时候进行跨行: <table id="table"> <thead> <tr> & ...

  5. Javascript高级程序设计(000)

    该分类下为学习Javascript高级程序设计的笔记,希望自己可以坚持学习,努力学习!加油! 一.组织结构 第 1 章,介绍 JavaScript 的起源:从哪里来,如何发展,以及现今的状况.这一章会 ...

  6. version libcrypto.so.10 not defined in file libcrypto.so.10 with link time reference

    I have installed IC618 latest version. But, after installation when I fire virtuoso I see following ...

  7. c# string.format 中使用$的坑

    string a = "hello}"; string s = string.Format($"{a}"); 上面这种情况,会报格式错误,会把hello}中的} ...

  8. CSDN上书签迁移

    title: CSDN上书签迁移 date: 2020-11-01 16:34:30 img: /photos/2020.6.03_15/2020_06_11_cover.jpg summary: C ...

  9. mybatis中xml新增一条数据获取自增id

    在insert的标签里加两个属性:useGeneratedKeys="true"         keyProperty="patentId"   ,这个key ...

  10. GDAL 安装

    命令总和 add-apt-repository ppa:ubuntugis/ppa apt-get update apt-get install gdal-bin apt-get install li ...