版权声明:本文为博主原创文章,未经博主允许不得转载。

转载请表明出处:http://www.cnblogs.com/cavalier-/p/5978937.html

前言

大家好,我是Cavalier,初次写博客,想先写一点简单的开始。还在琢磨拿什么下手,就想起来每天都在用的Git,所以先从Git开始分享一下我的经验。

下面进入正题

在长期的Git使用中,总结出了以下这些常用命令,对于Git入门下面的命令就够了。

1.git init

git 初始化一个仓库

2.git add file

git 加一个文件进缓存区,可添加多个文件

3.git commit -m "des xxxxxx"

commit 刷新缓存区且 -m是描述

4.git status

查看当前的状态

5.git reflog

查看所有提交的log,可以查看每次变动的版本号,方便查阅

6.git reset --hard HARD^

git的管理用的是一个HARD指针,指向的提交节点就是当前版本,这句是指回滚到上次提交的版本
git reset --hard file
这里的xxxxx指的是版本号,通过此命令可以回滚到指定版本

7.cat xxxx

xxxxx指的是文件全名,包括后缀,此命令查看文件内容

8.git diff HEAD -- file

查看最新版本的xx文件与xx文件的对比

9.git reset HEAD file

把暂缓区的修改撤销掉(unstage),重新放回工作区

10.git checkout -- file

丢弃工作区的修改

11.git rm

从git 工作区中删除文件

12.ssh-keygen -t rsa -C "youremail@example.com"

默认三个回车后即在命令目录中生成了两个文件,一个没有后缀名,一个后缀名为.pub的文件
在github中的
setting -> SSH Keys -> New Key
把.pub结尾的文件以文本文件打开后复制到 key 的文本框中,点击 Add Key 就可以添加本地key到github了

13.git remote add origin git@server-name:path/repo-name.git

关联本地目录到远程库

14.git push -u origin <branch_name>

第一次推送master分支中所有内容,
-u 参数是将本地的master分支推送到远程库中的master分支,且把本地的master分支和远程master分支关联起来,以后可以*
平时使用时如果有需要可以直接git push origin master就可以推送到远程库

15.git clone you_repo_url

克隆远程库
tips:使用ssh协议会比https速度快,因为https协议每次推送都需要口令,但要是部分公司只开放http端口的,就只能用https的

16.git branch

查看分支

17.git branch

创建分支

18.git branch -d

强行删除分支

19.git checkout

切换分支

20.git checkout -b

创建且切换分支

21.git merge

合并某分支到当前分支,不建议使用

22.git log

查看分支情况
git log --graph
查看分支情况
git log --graph --pretty=oneline --abbrev-commit
查看一行分支提交情况

23.git merge --no-ff -m "des"

合并分支时不使用快速合并方式,因为在团队中快速合并方式在log中看不出来

24.团队开发中最好是分三条分支,一条是master分支,一条是dev分支,一条是个人分支,mester分支是必须保持稳定的,dev是开发合并的,在发布的时候将dev和mester合并发布,而平时就个人和dev合并一下。

25.git stash

保存当前分支当前工作区,以便后面恢复继续
git stash apply 恢复分支,但是stash内容不删除
git stash drop 删除stash内容
git stash pop 恢复并删除stash内容
git stash list 查看stash列表
tips:可以进行多次git stash,利用git stash apply <name> 恢复到指定stash

26.git remote

查看远程库信息
git remote -v
查看详细远程库信息
tips:如果没有推送权限是不会显示push路径

27.git push origin

推送指定分支到远程分支
tips:如果提示"no tracking information"
说明本地分支与远程分支的关系没有创建,需要用git --set-upstream <branch-name> origin<branch-name>

28.git pull命令抓取分支

29.git tag

查看所有标签
git tag <tag-name> 设置当前分支一个表签名
git tag <tag-name> <commit-id> 设置指定分支的commitId一个标签名
git tag -a <tag-name> -m "des" <commit-id> 创建带有说明的标签
git tag -s <tag-name> -m "des" <commit-id> 采用PGP签名
git tag -d <tag-name> 删除标签

30.git show

查看tag文字说明

31.git push origin

推送标签到远程库
git push origin --tags
一次性推送未推送的标签到远程标签
tips: 如果标签已经推送到远程分支,这时想删除分支就只能先删除本地标签,
再推送删除标签git push origin :refs/tags/<tag-name>,置于是否删除了远程库的标签,可以登录远程库查看

32.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"

配置 输出简写 效果就是直接输入git lg 即可看到当前提交过的具体详情

结尾

博客结束,以上纯属个人经验,如有错误请指出,谢谢。

参考廖雪峰Git教程

转载请注明出处

Git入门仅这篇就够了的更多相关文章

  1. React入门看这篇就够了

    摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所有. React 背景介绍 React 入门实例教程 React 起源于 ...

  2. [转帖]Zookeeper入门看这篇就够了

    Zookeeper入门看这篇就够了 https://my.oschina.net/u/3796575/blog/1845035 Zookeeper是什么 官方文档上这么解释zookeeper,它是一个 ...

  3. [转]React入门看这篇就够了

    摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所有. React 背景介绍 React 入门实例教程 React 起源于 ...

  4. .NET Core实战项目之CMS 第五章 入门篇-Dapper的快速入门看这篇就够了

    写在前面 上篇文章我们讲了如在在实际项目开发中使用Git来进行代码的版本控制,当然介绍的都是比较常用的功能.今天我再带着大家一起熟悉下一个ORM框架Dapper,实例代码的演示编写完成后我会通过Git ...

  5. Git 看这一篇就够了

    上一篇讲 Git 的文章发出来没想到效果特别好,很多读者都要求继续深入的写. 那今天齐姐简单讲下 Git 的实现原理,知其所以然才能知其然:并且梳理了日常最常用的 12 个命令,分为三大类分享给你. ...

  6. Git 学习看这篇就够了!

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...

  7. Struts2入门这一篇就够了

    前言 这是Strtus的开山篇,主要是引入struts框架...为什么要引入struts,引入struts的好处是什么,以及对Struts2一个简单的入门.... 为什么要引入struts? 既然Se ...

  8. c语言入门这一篇就够了-学习笔记(一万字)

    内容来自慕课网,个人学习笔记.加上了mtianyan标签标记知识点. C语言入门 -> Linux C语言编程基本原理与实践 -> Linux C语言指针与内存 -> Linux C ...

  9. 命令行高效操作Git,看这篇就够了

    原文地址:http://blog.jboost.cn/2019/06/16/use-git.html 对于软件开发人员来说,git几乎是每天都需要接触的工具.但对于相处如此亲密的工作伙伴,你对它的了解 ...

随机推荐

  1. MAC安装M2Crypto报command 'cc' failed with exit status 1

    出错分析主要是因为由于OSX升级之后 /usr/include 没有了,使用命令修改swig寻址路径: sudo env LDFLAGS="-L$(brew --prefix openssl ...

  2. python3.5-day5_迭代器_生成器_装饰器_模块

    笔者QQ 360212316 迭代器&生成器 生成器: 一个函数调用返回一个迭代器,那这个函数叫做生成器,如果函数中包含yield语法,那么这个函数就会变成生成器 生成器的特点: 1.生成器必 ...

  3. WinForm窗体嵌入

    一.在winform窗体上添加两个控件 1.容器>Panel 2.添加 SideBar.dll (下载链接:http://pan.baidu.com/s/1o6qhf9w) (1)将SideBa ...

  4. MD5在java中的使用

    MD5是什么? MD5是message-digest algorithm 5(信息-摘要算法)的缩写,被广泛用于加密和解密技术上,它可以说是文件的"数字指纹".任何一个文件,无论是 ...

  5. java简单日历

    一.使用java的calendar类写一个简单的日历 package com.calendar; import java.util.Calendar; import java.util.Date; i ...

  6. socket网络通信

    1.socket通常也称作"套接字",用于描述IP地址和端口.在internet上的主机一般运行了多个服务软件,同时提供几种服务,每种服务都打开一个socket,并绑定到一个端口上 ...

  7. exception 'DOMException' with message 'Invalid Character Error' Php + Mongodb

    问题描述: 项目属于MVC设计模式,技术和框架采用了php5.6 + Yii2.0 + MongoDB. 在我从Controller中调用Model 的 findAll([]) 方法获取数据打印到屏幕 ...

  8. redis配置文件redis.conf说明

    redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程    daemonize no2. 当Redis以守护进程方式运行时, ...

  9. 【Android端 APP 启动时长获取】启动时长获取方案及具体实施

    一.什么是启动时长? 1.启动时长一般包括三种场景,分别是:新装包的首次启动时长,冷启动时长.热启动时长 冷启动 和 热启动 : (1)冷启动:当启动应用时,后台没有该程序的进程,此时启动的话系统会分 ...

  10. 十二 .ocBlock

    NSProxy是一个不继承NSObject的根类(尽管它遵守NSObject协议),调用[[NSProxy alloc]init]将会产生一个运行异常. 所幸,oc引入被称为“块代码”的第一级函数的概 ...