初始化

git init (your_project)

配置

--local  只对当前仓库有效
--global 对当前用户所有仓库有效
--system 对系统登录的所有用户有效
git config --global user.name 'your_name'
git config --global user.email 'your_email@domain.com'

显示config配置

git config --list --local(--global/--system)

提交给git管理

git add

提交变更

git commit -m 'message'
git commit -am 'message'

日志信息

git log
git log --oneline
git log -n(最近几次:eg:n4) --oneline
git log --all(所有分支) --graph(图形化)

查看目录信息

ls -al

拷贝文件

cp 要拷贝的文件 拷贝到的文件位置

重命名文件

git mv 原名字 改变成的名字

清除暂存区的变更

git reset --hard

图形化界面

gitk --all

分离头指针

git checkout 某个commit的值(没有绑定任何分支)
git commit -am 'message' 提交变更
git branch 新分支名(绑定上面的commit) 某个commit的值

查看文件信息

git cat 文件名
git cat-file -t hash值
git cat-file -p hash值

对比差异

git diff 第一个hash值 第二个hash值

删除不需要的分支

git branch -d 分支名
git branch -D 分支名

查看分支信息

git branch -av

修改最近一次commit的message

git commit -amend

修改旧的commit的message(多人协作尽量避免操作)

git rebase -i 改变的commit的父亲hash值
=>
进入编辑界面
=>
把要修改的commit前的pick改成r,保存

把多个连续commit合并成一个

git rebase -i 多个commit的父亲hash值
=>
进入编辑界面
=>
把父commit后的要合并的commit的pick都改成s,保存 !!不连续commmit可在编辑界面调整要合并的commit位置到父commit下合并就行

比较暂存区和HEAD所含文件差异

git diff -cached

比较暂存区和工作区所含文件差异

git diff (文件名)

让暂存区恢复和HEAD一样

git reset HEAD <file>

让工作区恢复和暂存一样

git checkout -- <file>

消除最近几次commit

git reset --hard 要回到的commit位置的hash值

比较分支差异

git diff 分支名 分支名 (文件名)
git diff hash值 hash值 (文件名)

删除文件

git rm 文件名

紧急事件暂停当前任务,暂存stage

git stash
git stash pop/apply(apply不会删除暂存区信息)

连接远程仓库

git remote add (改名,默认origin) 远程地址
git remote -v

拉取远程仓库

git fetch origin master
git merge -h(查看merge命令)
git merge (--allow-unrelated-histories) origin/master

不同人处理不同文件

切换分支
git checkout 分支名 origin/远程分支名(将本地创建的分支与远程分支关联)
git branch -v
1、git fetch origin
2、git merge origin/远程分支名
3、git push

不同人修改同个文件不同区域

1、git fetch origin
2、git merge origin/远程分支名
3、git push

不同人修改同个文件相同区域

git commit....
git push...
出现冲突
git merge 远程分支
git pull
修改冲突位置
git commit -am 'message'
git push

同时变更文件名和内容

git push
出现错误,先
git pull
再git push

同时修改同一个文件文件名

git push
报错
git pull
git报冲突,不对文件修改,自行协商解决

本文由博客一文多发平台 OpenWrite 发布!

git命令的学习和基本使用的更多相关文章

  1. 程序员必备基础:Git 命令全方位学习

    前言 掌握Git命令是每位程序员必备的基础,之前一直是用smartGit工具,直到看到大佬们都是在用Git命令操作的,回想一下,发现有些Git命令我都忘记了,于是写了这篇博文,复习一下~ https: ...

  2. git 命令的学习

    我们在安装好gitlab 之后就是怎么使用它了,这里我选择http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b806 ...

  3. Git命令行学习积累

    1.远程分支拉取到本地 $ git checkout -b develop origin/develop //检出远程的develop分支到本地 2.本地分支推送到远程 $ git checkout ...

  4. 常用Git命令大全思维导图

    开发中代码管理少不了使用Git,对于初学者来说Git命令的学习是一个难过的坎,为了帮助大家记忆并快速掌握Git的基本使用,我把常用的Git命令整理成思维导图,分享给大家. 高清大图在线预览 http: ...

  5. Git项目协同开发学习笔记1:项目库开发基础git命令

    这年头git基本都是项目开发的标配,之前刚好碰到了就花了两天时间系统学习了下.本文内容基本来自以下tutorial:Learn Git(建议直接去看原文,因为这个网站是有更新的).这个是我看过对git ...

  6. Git命令学习之旅——日志和穿梭版本号

    在总结了git命令的基础之后,接下来我们看一下基础的一些进阶内容:删除撤销命令.日志查看命令等 既然有加入文件的功能,那么相相应的肯定有移除文件的功能,命令例如以下:git rm [文件名称] 在输入 ...

  7. Git学习笔记01--常用Git命令、cmd命令及Git总结性知识

    资源:外国网友制作的 Git Cheat Sheet 第二次学习廖雪峰老师的Git教程,学习过程中把教程中涉及到的Git命令及总结性知识记录下来方便二次复习. 知识点 所有的版本控制系统,其实只能跟踪 ...

  8. 码云配合git入门命令总结学习

    目录 码云配合git入门命令总结学习 基本设置 基本命令总结学习 准备工作以及基本思路 基本命令 码云搭建仓库步骤 准备前工作 具体操作方法 远程仓库基本命令 标签相关命令 所有命令总结 基本命令总结 ...

  9. Git命令行(转用于学习和记录)

    Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...

  10. GIT命令(急速学习)

    用过sourceTree,egit(eclipse中的git插件),最后还是感觉git bash顺手:svn早已经不用:   先上几个原来看过的git 教程--书读百遍,其义自见.多看几篇文章才能总结 ...

随机推荐

  1. opencv对鱼眼图像畸变矫正

    import numpy as np ''' #T_cam_imu body_T_cam0: !!opencv-matrix rows: 4 cols: 4 dt: d data: [0.003489 ...

  2. Java 方法详解 与数组

    基础阶段: 1.何谓方法 何谓方法?◆System.out.println(),那么它是什么呢?◆Java方法是语句的集合,它们在- -起执行一个功能.   ◆方法是解决一类问题的步骤的有序组合    ...

  3. axis2 WebService 请求参数xml格式

    方法定义 public class GetBillInfoService { public String getBillList(String xmlData, String temp ){} 传入接 ...

  4. 第十二组 -摩天脆脆冰淇淋队-第四次团队作业:Git实战

    这个作业属于哪个课程 至诚软工实践F班 - 福州大学至诚学院 - 班级博客 - 博客园 (cnblogs.com) 这个作业要求在哪里 第四次团队作业:Git实战 - 作业 - 至诚软工实践F班 - ...

  5. 01 关于HTML基础-构建Web,这些你都知道吗?(很全)

    以下均是参考MDN web docs,总结出来的比较重要的知识点,与君共勉.不妥之处,还望大家及时提出! 什么是HTML? 是一种告诉浏览器如何组织页面的标记语言.它由一系列元素组成. HTML元素 ...

  6. pod控制器

    Pod控制器介绍 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类: 自主式pod:kubernetes直接创建出来的Pod,这种pod删除后 ...

  7. weblogic session timed out

    How to Configure Session Timeout in Weblogic Server (WLS) ?

  8. 贪心算法(Java)

    贪心算法 文章目录 贪心算法 0.写在前面 1.贪心算法的基本要素 1.1 贪心选择性质 1.2 最优子结构性质 1.3 贪心算法与动态规划算法的差异 2.贪心算法的特点 3.贪心法的正确性证明 4. ...

  9. 奇怪的 document.body.onscroll

    打开开发者工具, 滚动下面示例页面 See the Pen document.body.onscroll vs document.body.addEventListener('scroll', ... ...

  10. 01-什么是ElasticSearch

    1.什么是搜索? 百度:我们想要查找想要的一些信息比如在百度搜索一本书,一部电影这就是最常见的搜索 但是百度!=搜索 垂直搜索(站内搜索) 互联网的搜索:电商网站,新闻网站,招聘网站,等等 IT系统的 ...