创建目录和查看路径

mkdir 创建目录  
cd    进入到目录里面
pwd   用于显示当前的目录
cat   查看文件内容

Git命令使用说明

初始化一个目录成git的仓库(版本库)包括暂存区和master分支
git init查看当前目录的文件包括隐藏文件
ls -ah获取git命令的手册页
git help使用git前需要进行一些全局的配置

> 1、用户目录下的配置,当前登陆用户所有的仓库调用这个配置 ~/.gitconfig

> 2、项目目录的配置,优先级高,覆盖全局配置配置用户名和邮箱

1
2
3
git config --global user.name "wirelessqa"
git config --global user.email wirelessqa.me@gmail.com
git config --global color.ui true 让Git显示颜色,会让命令输出看起来更醒目

.gitignore 配置 不纳入git管理 主要是系统文件,编译文件,自定义的文件 ,这个文件也用推送到远程库

https://github.com/github/gitignore ,创建 touch 命令

配置编辑器 git在需要输入一些消息

1
git config --global core.editor emacs

配置比较工具

1
git config --global merge.tool vimdiff

读取配置(同一个配置选项会出现多次,以最后一次为准)

1
git config --list

提交文件之前

先查看当前的状态 ,能提示你接下来怎么做的命令,比如修改工作区文件内容,提示你添加到暂存区或者丢弃工作区修改的命令

1
git status

查看文件到底修改了什么

1
git diff

提交修改

纳入git仓库管理,把修改添加到暂存区(使用.代表将所有的修改进行添加)

1
git add .

把暂存区里面的所有修改提交到当前分支同时创建一个快照

1
git commit -m ""

如果确认当前所有变更都是同一个commit,可以直接加-a,就不必一个一个add了

1
git commit -a -m ""

工作区和版本库里最新版本的区别

1
git diff HEAD -- readme.txt

查看提交历史

1
git log --pretty=oneline

撤销修改

1
git checkout -- readme.txt

> 1、修改后还没添加到暂存区 ,撤销修改回到最近一次commit的状态,也就是和版本库里面的状态一样

> 2、修改后被添加到暂存区了,又做了修改 ,撤销修改就回到添加到暂存区后的状态,也就是跟暂存区里面的状态保持一致

> 3、用版本库里的版本替换工作去的版本,无论工作区是修改还是删除

可以把暂存区的修改撤销掉

1
git reset HEAD file

提交文件删除修改到暂存区

1
git rm test.txt

版本回退

git的版本回退知识改了head 指针,顺便把工作区的文件更新掉了

1
2
3
git reset --hard HEAD^
git reset --hard 3628164

查看命令历史

可以看到reset和commit等命令历史,可以利用这个命令查看最近一次

1
commitidgit reflog

工作区和暂存区

工作区:电脑上能看到的目录 ,里面有个.git 隐藏目录这个不算工作区,是git的版本库版本库里面包含了暂存区stage和git为我们自动创建第一个分支

远程库管理

查看远程库信息

1
git remote -v

修改远程仓库地址(在已经add了远程仓库地址,使用它进行修改地址)

1
git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git

关联远程库(添加远程仓库地址)

1
git remote add origin git@github.com:linhbcode/first-test.git

本地的master分支推送到远程的master分支上,原则就是master分支要与远程同步 ,dev 分支开发分支,也需要远程同步

1
git push origin master

master分支推送到远程的master分支,本地master 分支和远程master分支建立关联

1
git push -u origin master

Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是

1
origingit clone git@github.com:linhbcode/first-test.git

git pull 如果提示冲突解决冲突 抓去信息碰到没有链接的 有两种方式解决

> 1、git branch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联

> 2、git pull origin branchname

分支管理

1、不完整的代码在其它分支上提交

2、每个提交都在一个时间线上的节点上,分支相当于指向一个节点的指针

head 本质上是指向分支的指针

创建并切换分支

1
git checkout -b dev

本地分支创建和远程分支相同的分支,主要是仓库从远程clone过来的(一般要先git fetch,再git checkout -b branch-name origin/branch-name)

1
git checkout -b branch-name origin/branch-name

创建分支

1
git branch dev

切换分支 , 如果当前的工作只完成一半,还没发提交的话

1
git checkout dev

可以用 git stash 保存工作现场 ,在用它之前可以 git stash list 查看有几个暂存的列表

查看有几个暂存的列表

1
git stash list

保存工作现场

1
git stash

恢复 工作现场

1
git stash apply

来删除 工作现场

1
git stash drop

查看当前分支

1
git branch

查看远程分支

1
git branch -r

合并分支

1
git merge dev

删除分支

1
git branch -d dev

强行删除分支

1
git branch -D dev

(删除远程分支)冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。

1
git push origin :branch-name

提交本地test分支作为远程的master分支

1
git push origin test:master

提交本地test分支作为远程的test分支

1
git push origin test:test

刚提交到远程的test将被删除,但是本地还会保存的,不用担心

1
git push origin :test

查看分支合并图

1
git log --graph

查看提交历史

1
git log --pretty=oneline --abbrev-commit

合并分支

1
git merge branchname

合并分支的时候不采用ff模式(分支删除了还能看的到分支历史信息)

1
git merge --no-ff -m "merged bug fix 101" issue-101

标签管理

描述开发历程,在发布一个版本的时候打一个标签

查看所有的标签

1
git tag

对莫一个提交历史打一个标签

1
git tag v1.0 [commit id

查看标签信息

1
git show [tagname]

正式开发下最好用这条语句标注下这个标签的描述

1
git tag -a v0.1 -m "version 0.1 released" 3628164

删除标签

1
git tag -d v0.1

推送标签

1
git push origin v1.0

推送全部标签

1
git push origin --tags

远程删除标签(先从本地删除标签)

1
git push origin :refs/tags/v0.9

结语

目前就整理了些常用的命令,足够对付平常的工作了,如果大家还想读读Git原理的话,建议看看原文地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845513aefd77a99f4145f0a2c7a7ca057e7570000,里面讲的特别全。

Git命令的简单整理大全的更多相关文章

  1. 栗染-git命令搭建简单的个人的网页

    本来一个很简单的东西被自己搞了很久 可能是对于一个小白来说第一次认识到github的魅力吧,以前只是听别人说过用github搭建网站,听起来很厉害的样子,一直也没有尝试过,突然兴起今天去网上找一些教程 ...

  2. git命令的简单使用

    Gitbash初始化设置 Gitbash安装成功后要配置email和name,否则commit的时候会报错: 运行 git config --global user.email "你的ema ...

  3. github踩坑之git命令收集与整理(windows)

    最近开始又捡起git,第一家公司用的就是git,一直掌握的也不深刻,就知道常用的几个命令,虽然现在用svn,但是觉得git还是不能丢,遂又捡起来了.先总结一部分目前练习用到的,慢慢填补吧~ githu ...

  4. git命令与协同开发

    一 git命令 1.简单命令 git init # 初始化 (建立git 版本相关文件关系都放这里) git config --global user.email "you@example. ...

  5. Git命令学习总结(-)

    入职的第一天,让git命令直接给难住了,汗!使用习惯可视化的工具对于命令行早就忘记的一干二净.还好,回家自己练习一下,总会没有错的.git就不做简介了,版本管理除了svn就是git了,其他的都无所谓了 ...

  6. Git 命令简单罗列

    源教程出自 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 整 ...

  7. Git命令整理

    说在前面: 刚开始在实习时接触git,是用git可视化工具,但是仅限于克隆库.切换分支.抓取和推送,对于其中的原理不甚了解.看了廖雪峰老师Git教程,获益颇丰.特别要感谢我工作中的同事,是他强烈建议我 ...

  8. git相关的简单命令

    初次使用建议看这个ppt:http://www.bootcss.com/p/git-guide/    从现有仓库克隆 这需要用到 git clone 命令.如果你熟悉其他的 VCS 比如 Subve ...

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

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

随机推荐

  1. Linux Too many open files

    Linux Too many open files 查看系统资源限制信息: sudo -s -u root -H id sudo -s lsof | awk '{ print $2 " &q ...

  2. BZOJ2456-mode题解--一道有趣题

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2456 瞎扯 这是今天考的模拟赛T2交互题的一个30分部分分,老师在讲题时提到了这题.考 ...

  3. LeetCode 腾讯精选50题--数组中的第K个最大元素

    好吧,不得不承认,书上看到的始终不是自己的,只有亲身时间过才会明白该怎么操作. 找数组中第K个最大元素,简而言之就是先排序,不论使用哪种算法,都需要先排序,确认位置,由于数组可以通过下标直接访问,所以 ...

  4. vue进阶:vue-router之导航守卫、路由元信息、路由懒加载

    1.导航被触发 2.在失活的组件里调用离开守卫:beforeRouteLeave —— 组件内守卫(离开组件). 3.调用全局的beforeEach守卫 —— 全局守卫(进入组件). 4.在重用组件里 ...

  5. RPC性能优化

    优化 1:元数据共享 hessian 序列化会将两种信息写到输出流: 元数据:即类全名,字段名 值数据:即各个字段对应值(如果字段是复杂类型,则会递归传递该复杂类型 的元数据和内部字段的值数据) 在 ...

  6. sql DATEDIFF 函数

    sql  DATEDIFF 函数 今天的所有数据: 昨天的所有数据: 7天内的所有数据: 30天内的所有数据: 半个月的所有数据: 本月的所有数据: 上月的所有数据: 本年的所有数据: --查询今天是 ...

  7. 2、screen工具

    1.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远 ...

  8. 8.5.zookeeper应用案例_分布式应用HA

    1.实现分布式应用(主节点HA)及客户端动态更新主节点状态 需求:某分布式系统中,主节点可以有多台,服务器可以动态(变化)上下线,任意一台客户端都能实时感知到主节点服务器的上下线 思路:架设Zooke ...

  9. zencart分类页每页显示产品数量自定义选择的方法

    zencart默认分类页每页显示产品数量是固定的,如何让顾客可以选择每页显示的产品的数量呢?效果图 方式一:全部展示 方式二:下拉菜单 修改方法 1.导入sql INSERT INTO configu ...

  10. 布隆算法(BloomFilter)

          BloomFilter算法,是一种大数据排重算法.在一个数据量很大的集合里,能准确断定一个对象不在集合里:判断一个对象有可能在集合里,而且占用的空间不大.它不适合那种要求准确率很高的情况, ...