一.创建一个版本库
1.mkdir xxx
2.git init 使用git init命令将这个目录变成Git可以管理的仓库
这个版本仓库创建好了,xxx目录下有一个隐藏的.git目录(里面有暂存区(state/index)和分支管理库(master/dev..)),除了.git目录其它是工作区。

二.添加文件并提交
1.git add xxx 将这个文件添加到暂存区
2.git commit 将暂存区文件提交到本地仓库
-m "注释" 是本次提交的说明信息,用来注释本次操作

三.管理文件修改
1.差异比较:git diff -- xxx 可以查看工作区和版本库里面最新版本的区别
2.查看状态,提交修改: git status命令查看当前工作区的状态
3.日志查看: git log 可以查看历史每次提交信息
   --pretty=oneline看日志加这个参数可以精简许多
4.查看日志的时候,有一个HEAD->master 表明的是HEAD这个指针标记当前master分支的当前版本所在的位置。
5.版本回退:git reset --hard HEAD^ 表示回退到上一个版本
  git reset --hard HEAD {commit id} 通过git reflog找到对应的commit id来用这个回退对应版本
6.暂存区撤销修改:git reset HEAD <fiel> 来撤销缓存修改。意思是回退到当前版本及暂存区干净。
7.工作区撤销修改:git checkout -- <file> 来撤销当前文件的修改,即工作区的文件内容不变是干净的。
8.全局配置: git config --global
  别名配置: git config --global alias.别名 "真实名字"
  给复杂的git log --pretty=onelog取个别名git lg并且给添加一点颜色:
  git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
9.关联远程仓库:git remote add origin ssh://git@192.168.50.33:10022/zhanghuyi/hello-git.git
  第一次推送本地仓库到远程仓库的master分支:git push -u origin master
  第二次推送本地仓库到远程仓库的master分支:git push origin master
10.克隆远程仓库:就是把远程仓库的复制一份到本地,克隆后会创建一个新的本地仓库:git clone ssh://git@...git
11.再本地拉取最新的代码:git pull

四.分支的创建和合并
1.创建分支: git checkout -b 分支名 这样就创建好一个新的分支并HEAD切换到分支了。
  可以分解成(git branch 分支名)#创建分支 和 (git checkout 分支名) 切换到具体的分支
2.合并分支:git checkout master切换回master分支
  然后git merge dev命令将 dev分支的修改合并到master分支
3.删除分支:使用git branch -d 分支名来删除指定分支,注意:要删除一个未合并的分支。需要使用-D参数进行强制删除
4.冲突解决:git log --graph --pretty=oneline --abbrev-commit命令来查看解决冲突完的干净工作区了

五.保存工作区状态
1.git stash 快照当前的状态,现在去解决更紧急的bug,等下来开发这个dev.
2.然后切换到master去修复bug,修复完成后回到dev去
3.工作区是干净的,之前的修改哪去了查看: git stash list命令查看
4.工作现场还在,git把stash内存存在某个地方,但是需要恢复一下,有两个办法:(一般采用2)
  1) 方式1:用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
  2) 方式2:用git stash pop,恢复的同时把stash内容也删了:
  3) 注意,以上指令都可以在后面紧跟 stash的序号,来操作指定stash,例如: git stash apply stash@{0}

常用的一些git命令整合的更多相关文章

  1. 常用终端及git命令

    终端常用命令 1,打开终端,git version 查看版本 2,pwd 打印工作目录 3,ls(list简写)查看当前目录的所有文件 4,clear 清掉屏幕 5,cd (change direct ...

  2. 开发过程中常用到的git命令

    将git上项目下载到本地 1.将项目下载到本地 git clone (git项目地址) 2.进入项目文件夹中(cd 某文件夹) 切换到要使用的分支 git checkout develop 3.抓取远 ...

  3. Redis 常用数据结构及其控制命令整合

    Redis 键值支持5种基本结构,分别是字符串,列表,哈希,集合,有序集合.每一种数据结构都有对应的取值和设值命令,辅助命令,除此之外,还有一些全局命令,用来管理Redis存储的所有 键. 全局命令 ...

  4. 最简单、最常用的一些Git命令

    ---------------------------------------------------------------------------------------------------- ...

  5. 项目管理---git----快速使用git笔记(六)------本地开发与远程仓库的交互----常用git命令

    无论是我们自己把本地的项目新建了一个远程仓库 还是 从远程仓库获取到了 本地,现在我们都在本地有了一份项目代码,服务器上对应有项目代码的信息. 现在我们就开始进行交互操作了. 也就是说明一些在 正常开 ...

  6. 我所记录的git命令(非常实用)

    一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...

  7. 一些非常实用的git命令

    阅读目录 一.前言 二.git branch 和 git checkout 三.git clone 和 git remote 四.git pull 和 git push 五.git merge 和 g ...

  8. 常用Git命令清单。

    上期传送门:[清单]7个管理和优化网站资源的工具 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository: ...

  9. 工作中常用的git命令

    一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...

随机推荐

  1. ELF文件之八——使用链接脚本-2个函数-data-bss-temp-call-debug信息

    gcc编译选项可以设置生成调试信息, debug信息格式有stabs,coff,xcoff,dwarf. 常用的有两种格式,stab和dwarf,stab较早,dwarf较新.两种格式介绍:https ...

  2. CentOS7.3yum安装MariaDB报错[Errno 256]

    在yum安装MariaDB时出现下面这个错误提示,然后着手排查,先检查了/etc/yum.repo.d/下的配置文件,没有错误. failure: repodata/repomd.xml from m ...

  3. [Linux-CentOS7]yum清华源CentOS7

    shell直接运行 cat > 01.yumrepo.sh << 'EOF' # 创建备份路径 mkdir -p /etc/yum.repos.d/repo.bak/ # 备份源 m ...

  4. Waymo-自动驾驶长尾问题挑战(2019)

    尽管Waymo已经在开放道路上积累超过10 Million Miles,Waymo的工程师们仍然发现有层出不穷的新自动驾驶场景待解决. 1.自动驾驶长尾场景举例 场景一:一个骑自行车的人手中拿着一个S ...

  5. java方法参数传递方式只有----值传递!

    在通常的说法中,方法参数的传递分为两种,值传递和引用传递,值传递是指将实际参数复制一份传递到方法中, 在方法中的改动将不会影响到实际参数本身,而引用传递则是指传递的是实际参数本身,在方法中的改动将会影 ...

  6. 【全集】大数据Linux基础

    课程介绍 本课程是由猎豹移动大数据架构师,根据公司大数据平台的运维情况,精心设计和打磨的大数据必备Linux课程.通过本课程的学习大数据新手能够少走弯路,快速掌握Linux常用命令及Shell编程,为 ...

  7. Leetcode:面试题 04.03. 特定深度节点链表

    Leetcode:面试题 04.03. 特定深度节点链表 Leetcode:面试题 04.03. 特定深度节点链表 先贴一下自己写过一个模板,按层数遍历: https://www.cnblogs.co ...

  8. Ajax0001:ajax介绍 JSON数据处理

  9. Java自学-多线程 启动一个线程

    Java 创建一个线程的三种方式 多线程即在同一时间,可以做多件事情. 创建多线程有3种方式,分别是继承线程类,实现Runnable接口,匿名类 步骤 1 : 线程概念 首先要理解进程(Process ...

  10. Mumbai:1 Vulnhub Walkthrough

    靶机地址: https://www.vulnhub.com/entry/mumbai-1,372/ 主机探测: 主机端口扫描: FTP 下载Note文件 TODO: Move these multip ...