一、git配置

git config

1.git config --global user.name "ken"

配置用户名
2.git config --global user.email "ken@gmail.com"
配置邮箱

3.git config --global --list

查看当前设置

二、git查看

git log

查看git操作日志

git status

查看当前git状态

三、git获取

git clone

克隆远程版本库到本地

git fetch

仅获取远程版本库的分支

git pull

获取远程版本库的分支且合并到本地分支中

四、git提交

git init

在文件夹中输入git init可以创建新的版本库

git add

1.将新文件添加到版本库中进行跟踪

2.将文件的修改更新到暂存区

git rm

1.git rm

从版本库索引和当前目录同时删除

2.git rm --cached xxx

仅在版本库索引中删除,xxx仍然在当前目录中,这样就可以放弃对xxx文件的版本控制

3.仅在当前目录中删除,则版本库索引中未删除

git commit

1.git commit

将暂存区更新提交到本地版本库

2.git commit -a

提交当前修改到本地版本库中,包括更新修改到暂存区

git push

将当前的一系列commit结果提交到远程版本库

五、git反悔

撤销文件更新

git checkout filename

放弃对文件的修改,不将文件的修改放到暂存区,则当前目录中的文件恢复原样

撤销暂存区更新

git reset HEAD xxx

修复最近一次commit

先git commit,然后发现之前的commit不够完善并进行修改,最后git commit --amend

重置到某次commit

git reset --hard xxx

如果已经push到远程版本库则比较难撤销或修改,可以创建新的commit修复。下面提供一些方案:

1. 修复最近一次commit+push

git commit

git push

发现commit不完善进行修改

git commit -–amend

git push –f (确保没有其他人获取之前的commit)

操作会导致远程版本库抛弃之前的commit点,用amend后的commit点代替

2. 修复reset+push

git reset

git push –f

操作会导致从本地版本库和远程版本库的共同根节点开始抛弃远程版本库的commit点,用本地push的commit点代替

六、git分支

git branch

1.git branch xxx

创建新的分支

2.git branch

查看本地版本库分支

3.git branch –r

查看远程版本库分支

git checkout

1.git checkout xxx

切换到xxx分支

2.git checkout –b xxx

创建并切换到xxx分支

git merge xxx

将xxx分支合并到当前分支中

七、git标签

git tag

详细内容可参考:http://blog.csdn.net/wangjia55/article/details/8793577

八、git对比

git diff

九、git冲突处理(non-fast-forward)

(整个冲突处理过程最好不断使用git status查看提示操作!)

1、如上图,当本地的commit B和远程的commit A之间形成冲突时,可以使用git pull进行处理。此时本地会产生commit A和commit B的冲突合并,进行冲突处理后,再进行commit时,此时的commit C是基于commit A和commit B的,可以直接push。

2、如上图,当本地的commit B和远程的commit A之间形成冲突时,可以使用git pull --rebase进行处理。此时会产生commit A和commit B的冲突合并,进行冲突处理后,再进行git add和git rebase --continue,形成commit后,此时的commit C仅基于A,可以直接push。这样的好处是可以形成单链结构。

十、git过程图

git简单使用总结的更多相关文章

  1. 小丁带你走进git世界一-git简单配置

    小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config  –global user.name BattleHeaer ...

  2. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

  3. Git简单生成生成公钥和私钥方法

    Git简单生成生成公钥和私钥方法 Git配置 Git安装完之后,需做最后一步配置.打开git bash,分别执行以下两句命令 git config --global user.name “用户名” g ...

  4. 猫猫学iOS 之第一次打开Xcode_git配置,git简单学习

    猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243 一:错误 当第一次打开Xcode我们进行commit操作的时候会 ...

  5. Git简单多人协作

    感谢廖雪峰老师,引自他的Git教程. Git简单多人协作 首先,可以试图用git push origin <branch-name>推送自己的修改: 如果推送失败,则因为远程分支比你的本地 ...

  6. Git简单应用(1)

    Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 1.Windows安装git msysgit是Windows版的Git,从https://git-for-windows. ...

  7. GIT简单操作

    以下只是简单的bash的操作命令,个人比较喜欢用gui 打开 git bash here git clone https://github.com/自己的名字/trunk git checkout + ...

  8. git简单使用和说明文件的书写

    一. git 简单使用 1.注册 https://github.com/ 2.初始化 配置 git config --global user.name "Your Name" gi ...

  9. 在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC

    非常感谢OSC提供了这么好的一个国内的免费的git托管平台.这里简单说下TortoiseGit操作的流程.很傻瓜了 首先你要准备两个软件,分别是msysgit和tortoisegit,乌龟还可以在下载 ...

  10. git简单使用教程

    git 的基本使用指令 我们先来简单熟悉一下 git 的简单使用的指令, 作为最基本的 git 指令一定要熟悉 12345678910111213141516171819202122232425262 ...

随机推荐

  1. 20162325 金立清 S2 W7 C16

    20162325 2017-2018-2 <程序设计与数据结构>第7周学习总结 教材学习内容概要 树是非线性结构,其元素组织为一个层次结构 树的度表示树种任意结点的最大子结点数 有m个元素 ...

  2. C++:构造函数2——拷贝构造函数

     前言:拷贝构造函数是C++中的重点之一,在这里对其知识进行一个简单的总结. 一.什么是拷贝构造函数 在C++中,对于内置类型的变量来说,在其创建的过程中用同类型的另一个变量来初始化它是完全可以的,如 ...

  3. C++自学随笔

    主要学习内容: 了解了IDE环境的含义 C++与C的区别: 新的数据类型:bool型 新的初始化方法:直接初始化int x(1024) 经过查找,了解了直接初始化与复制初始化的区别:"当用于 ...

  4. BNUOJ 52318 Be Friends prim+Trie

    题目链接: https://acm.bnu.edu.cn/v3/problem_show.php?pid=52318 B. Be Friends Case Time Limit: 2500msMemo ...

  5. Unity控件ScrollView使用问题记录

    Unity版本:5.6.2 控件Scroll View由4部分组成,如图: 1.含有Scroll Rect组件的根节点:Scroll View 2.含有Mask组件的节点:Viewport 3.所有内 ...

  6. grunt入门讲解4:如何创建task(任务)

    每当运行Grunt时, 你可以为其指定一个或多个任务, 这些任务用于告诉Grunt你想要它做什么事情. 如果你没有指定一个任务,并且你已经定义一个名为 "default" 的任务, ...

  7. jmeter 多线程组间变量共享

    jmeter的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的. 但是有时为了方便管理,我们可能是把各个接口单独存放在不同的线程组中.拿Cookie ...

  8. [学习]ulimit

    ulimit User limits - limit the use of system-wide resources. Syntax ulimit [-acdfHlmnpsStuv] [limit] ...

  9. 【bzoj5084】hashit 广义后缀自动机+树链的并+STL-set

    题目描述 你有一个字符串S,一开始为空串,要求支持两种操作 在S后面加入字母C 删除S最后一个字母 问每次操作后S有多少个两两不同的连续子串 输入 一行一个字符串Q,表示对S的操作 如果第i个字母是小 ...

  10. 【2018ICPC青岛】

    B 题意:给n个问题,每个问题有一个固定的答案ai(<=10^5).现在有m个约束关系,每个约束关系是一个二元组(ui,vi),表示你回答ui.vi问题的答案必须一样. 现在让你输出分别修复一个 ...