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

转载请表明出处: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. Redis的持久化的两种方式drbd以及aof日志方式

    redis的持久化配置: 主要包括两种方式:1.快照  2 日志 来看一下redis的rdb的配置选项和它的工作原理: save 900 1 // 表示的是900s内,有1条写入,则产生快照 save ...

  2. HTTP权威协议笔记-7.集成点:网关、隧道及中继

    .8.1 网关 定义:网关类似与翻译器,它抽象出了一种能够到达资源的方法. 实用:网关可以自动将HTTP流量转换为其他协议,这样使用HTTP协议的一方就不需要了解其他协议,也可实现与其他程序或设备交互 ...

  3. IDL中的HRESULT值

    IDL中的HRESULT值

  4. JavaScript 数组 length 属性获取数组长度或设置数组元素的数目

    JavaScript 数组 length 属性 JavaScript 数组 length 属性可返回或设置或组中元素的数目,语法如下: array_object.length 利用 length 属性 ...

  5. 动态加载script文件的两种方法

    第一种就是利用ajax方式,把script文件代码从后台加载到前台,然后对加载到的内容通过eval()执行代码.第二种是,动态创建一个script标签,设置其src属性,通过把script标签插入到页 ...

  6. 短视频APP+不同类型社交应用发展分析+化妆品电商

    短视频APP——昙花一现还是发展趋势? 在这个互联网与科技并行且飞速发展的时代,各种app不断涌入市场,其中短视频app便是一个典型,美拍,就成功入围2014年十大最火app.而短视频app也势必要成 ...

  7. Spark 2.6.1 源代码在 eclipse 的配置

    本文地址:http://www.cnblogs.com/jying/p/3671767.html 这么个问题又耗费了偶一天时间,真是羞愧.. 上午从官网svn地址下载最新的 spark 包,总是下载失 ...

  8. NodeJS 常用模块

    NodeJS 模块: n:NodeJS 版本管理/切换 参考: https://github.com/tj/n ExpressJS:Web 框架 参考: http://expressjs.com/ m ...

  9. app跳转openURL,兼容方法

    - (void)openScheme:(NSString *)scheme {   UIApplication *application = [UIApplication sharedApplicat ...

  10. linux随笔2

    ---恢复内容开始--- 2016,12,20 在linux里面不写这些扩展名,也是可以的,但是写这些扩展名是为了个管理员写的,好区分,但是linux本身不依靠扩展名来区分文件类型 ~~~~~~~~~ ...