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几乎是每天都需要接触的工具.但对于相处如此亲密的工作伙伴,你对它的了解 ...
随机推荐
- Mac Aria2 使用Privoxy将socks代理转化为http代理
安装Privoxy 打开终端安装privoxy来实现这里我是通过brew来进行的安装 brew install privoxy 看到这行已经安装成功 ==> Caveats To have la ...
- Topcoder几例C++字符串应用
本文写于9月初,是利用Topcoder准备应聘时的机试环节临时补习的C++的一部分内容.签约之后,没有再进行练习,此文暂告一段落. 换句话说,就是本文太监了,一直做草稿看着别扭,删掉又觉得可惜,索性发 ...
- [c#]一个窗体调用另一个窗体的事件
StuAddForm a = new StuAddForm(); a.IfStudent(textBox1.Text.Trim()):
- 【英语魔法俱乐部——读书笔记】 0 序&前沿
[英语魔法俱乐部——读书笔记] 0 序&前沿 0.1 以编者自身的经历引入“不求甚解,以看完为目的”阅读方式,即所谓“泛读”.找到适合自己的文章开始“由浅入深”的阅读,在阅读过程中就会见到 ...
- BASE64编码和解码(VC源代码) 并 内存加载 CImage 图像
BASE64可以用来将binary的字节序列数据编码成ASCII字符序列构成的文本.完整的BASE64定义可见 RFC1421和 RFC2045.编码后的数据比原始数据略长,为原来的4/3.在电子 ...
- cf727e
题意:给你一个模式串和一堆长度相同的不相同的匹配串,问是否有一个方案可以让这个模式串由这些匹配串首尾相连组成,每个串只能出现一次. 思路:还是比较简单的,显然模式串每个位置最多匹配一个匹配串,因为所有 ...
- javascript的数值转换
在javascript中数值转换,最要的一点是函数第一个字母必须要大写.js中的函数有string字符型.number数值型.null空型.boolean布尔型.undefined未定义. 具体的转换 ...
- Chrome & Linux font
1 $ sudo apt-get install texlive-full # 较大 2 $ mkdir -p ~/.fonts 3 下载这个win7字体包解压后放到~/.fonts下 4 $ sud ...
- c程序中出现segment error 和 bus error 的原因
在c程序中,经常会遇到段错误(segment error)和总线错误(bus error),这两种问题出现的原因可能如下 段错误: 对一个NULL指针解引用. 访问程序进程以外的内存空间. 实际上,第 ...
- 开源PLM软件Aras详解六 角色与用户以及权限
在Aras中,角色(Identity),用户(Users),权限(Permissions),分别为3个ItemType,Permissions依赖与Identity,Identity可依赖与User. ...