Git入门仅这篇就够了
版权声明:本文为博主原创文章,未经博主允许不得转载。
前言
大家好,我是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入门仅这篇就够了的更多相关文章
- React入门看这篇就够了
摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所有. React 背景介绍 React 入门实例教程 React 起源于 ...
- [转帖]Zookeeper入门看这篇就够了
Zookeeper入门看这篇就够了 https://my.oschina.net/u/3796575/blog/1845035 Zookeeper是什么 官方文档上这么解释zookeeper,它是一个 ...
- [转]React入门看这篇就够了
摘要: 很多值得了解的细节. 原文:React入门看这篇就够了 作者:Random Fundebug经授权转载,版权归原作者所有. React 背景介绍 React 入门实例教程 React 起源于 ...
- .NET Core实战项目之CMS 第五章 入门篇-Dapper的快速入门看这篇就够了
写在前面 上篇文章我们讲了如在在实际项目开发中使用Git来进行代码的版本控制,当然介绍的都是比较常用的功能.今天我再带着大家一起熟悉下一个ORM框架Dapper,实例代码的演示编写完成后我会通过Git ...
- Git 看这一篇就够了
上一篇讲 Git 的文章发出来没想到效果特别好,很多读者都要求继续深入的写. 那今天齐姐简单讲下 Git 的实现原理,知其所以然才能知其然:并且梳理了日常最常用的 12 个命令,分为三大类分享给你. ...
- Git 学习看这篇就够了!
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...
- Struts2入门这一篇就够了
前言 这是Strtus的开山篇,主要是引入struts框架...为什么要引入struts,引入struts的好处是什么,以及对Struts2一个简单的入门.... 为什么要引入struts? 既然Se ...
- c语言入门这一篇就够了-学习笔记(一万字)
内容来自慕课网,个人学习笔记.加上了mtianyan标签标记知识点. C语言入门 -> Linux C语言编程基本原理与实践 -> Linux C语言指针与内存 -> Linux C ...
- 命令行高效操作Git,看这篇就够了
原文地址:http://blog.jboost.cn/2019/06/16/use-git.html 对于软件开发人员来说,git几乎是每天都需要接触的工具.但对于相处如此亲密的工作伙伴,你对它的了解 ...
随机推荐
- java正则随笔
一.string校验 要求字符串只能输入数字,字母大小写和‘@‘’‘.’‘_’三个特殊字符 public static boolean check1(String str){ String patte ...
- Des加解密算法
class DesHelper { /// <summary> /// DES加密方法 /// </summary> ...
- Java线程问题分析定位
Java线程问题分析定位 分析步骤: 1.使用top命令查看系统资源占用情况,发现Java进程占用大量CPU资源,PID为11572: 2.显示进程详细列表命令:ps -mp 11572 -o THR ...
- Nginx开启GZIP来压缩网页
HTTP协议上的GZIP编码是一种用来改进web应 用程序性能的技术.大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度.这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中 ...
- SQL Server 的表数据简单操作
--表数据操作----添加表数据----向现有表添加数据--[use 要操作数据表的数据库名称go]insert [into] 数据表 [(字段名1,字段名2,字段名3, ...)] values(值 ...
- 基于AQS的锁
锁分为独占锁和共享锁,它们的主要实现都是依靠AbstractQueuedSynchronizer,这个类只提供一系列公共的方法,让子类来调用.基于我了解不深,从这个类的属性,方法,和独占锁的获取方式去 ...
- python3.5------day4--function
函数 函数的作用: 1.减少重复代码 2.扩展性强 3.使程序变的可维护 函数的定义: def test(): print("I'm yao") #def 是固定的,test为函数 ...
- splinter(python操作浏览器魔魁啊)
from splinter import Browser def main(): browser = Browser() browser.visit('http://google.com') brow ...
- Getting Started
https://developers.google.com/v8/get_started Getting Started This document introduces some key V8 co ...
- 谈谈springMVC和Strut2的理解
关于struts2框架原理 执行流程 struts2框架的核心是一个过滤器,我们编写的action类都继承ActionSupport的接口(顶层是一个过滤器filter),用户发送请求,经过核心过滤器 ...