Git简单教程
该笔记总结廖雪峰Git教程, 参考网站: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
一. 简介
二. Git install
$ git config --global user.name "Your name" $ git config --global user.email "email@example.com"
三. 创建repository
$ mkdir git #创建git目录 $ cd git $ git init #创建repository
通过以下命令可以看到git目录中有隐藏的.git文件
$ ls -a
把文件添加入repository
# Snapshots the file in preparation for versioning $ git add [file] # Records file snapshots permanently in version history $ git commit -m "[descriptive message]"
四. 版本控制
一些简单的命令:
# Lists all new or modified files to be committed $ git status # Shows file differences not yet staged $ git diff # Lists version history for the current branch $ git log $ git log --pretty=oneline
版本回退:
$ git reset --hard HEAD^
版本回退后, 新版本会消失, 如果想恢复至新版本必须知道新版本的ID号, 之前 git log 会打印出新版本的ID号.
# 版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。 $ git reset --hard ID
Git概念理解:
撤销修改:
$ git checkout -- fileName
二: 文件已经 git add, 提交至stage中, 此时需要首先将文件从stage中撤回至work directory中, r然后成为一的情况.
$ git reset HEAD fileName
删除文件:
# Deletes the file from the working directory and stages the deletion $ git rm [file] $ git commit -m "message"
如果误删想要回复文件, 使用如下命令:
$ git checkout -- [file]
五. 远程仓库
$ ssh-keygen -t rsa -C "youremail@example.com"
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
$ git remote add origin git@github.com:[github_ID_name]/[repository_name].git
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
$ git push -u origin master
从现在起,只要本地作了提交,就可以通过命令, 把本地master分支的最新修改推送至GitHub:
$ git push origin master
第一次链接时会出现警告, 该警告关于SSH警告, 直接Yes即可.
删除远程库内容:
$ git rm [filename] #删除本地文件 $ git add . $ git commit -m "clear" $ git push origin master
$ git clone git@github.com:***/***.git
分支管理
简单的命令:
#表示创建并切换 $ git checkout -b dev #or $ git branch dev $ git checkout dev # Lists all local branches in the current repository $ git branch # Switches to the specified branch and updates the working directory $ git checkout master # Combines the specified branch’s history into the current branch $ git merge dev # Deletes the specified branch $ git branch -d [branch-name] # 分支合并图 $ git log --graph # 禁用Fast forward模式, merge时生成新的commit $ git merge --no-ff -m "merge with no-ff" [branch-name] # Temporarily stores all modified tracked files $ git stash # Lists all stashed changesets $ git stash list # 强行删除 $ git branch -D feature-vulcan # 查看远程库的信息, 加-v会将信息详细化 $ git remote
合并方式:
分支策略:
Bug分支:
多人合作:
七. 标签管理
简单命令:
# 打一个新标签, 加ID号可为以前的增加标签 $ git tag <name> [commit ID] # 查看标签 $ git tag # 查看标签信息 $ git show <tagname> # 删除标签 $ git tag -d <tagname> # 推送某个标签到远程,使用命令 $ git push origin <tagname> # 一次性推送全部尚未推送到远程的本地标签 $ git push origin --tags # 删除远程标签 $ git tag -d <tagname> $ git push origin :refs/tags/<tagname> 转载清注明出处, O(∩_∩)O谢谢!
Git简单教程的更多相关文章
- git 简单教程更新
0.初始化 $ git config --global user.name "xxx" $ git config --global user.email "xxx@gma ...
- Git和Github简单教程
原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...
- Git和Github简单教程(收藏)
原文链接:Git和Github简单教程 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的 ...
- Git和Github简单教程【转】
转自:https://www.cnblogs.com/schaepher/p/5561193.html#clone 原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但 ...
- 转:Git和Github简单教程
转自:https://www.cnblogs.com/schaepher/p/5561193.html Git和Github简单教程 原文链接:Git和Github简单教程 网络上关于Git和Gi ...
- Git简易教程-安装及简单使用
Git是一种版本控制器,在项目开发中可以用来托管代码 一.下载安装Git 1. Git下载 地址:https://git-scm.com/download/win 2. 安装 检验是否安装成功 电脑桌 ...
- Git使用教程【转】
Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是 ...
- Git 使用教程
Git 使用教程 更详细请参考:廖雪峰的官方网站 - Git教程 1. 安装Git客户端软件 Git for Windows http://msysgit.github.io/ 2. 创建版本库 两点 ...
- Git版本控制教程
Git 版本控制入门 不了解Git请查看权威Git书籍 ProGit(中文版). 一份很好的 Git 入门教程,点击这里查看. Git客户端下载地址: 官方Git - TortoiseGit - So ...
随机推荐
- flex操作XML,强力总结帖
初始化XML对象 XML对象可以代表一个XML元素.属性.注释.处理指令或文本元素.在ActionScript 3.0中我们可以直接将XML数据赋值给变量: var myXML:XML = &l ...
- ARM和X86
嵌入式简介汇总 脚本语言 编程语言 Java C# C ++ 汇编 机器语言 语言 Unix Linux Android + 塞班 + Windows + + + ios系统 基于unix内核的图形化 ...
- Java EJB JBoss
JBoss:JBoss是web服务器的一种,主要做EJB容器,和tomcat集成就可以jsp,servlet,ejb通吃了JBoss有两种版本,一种是独立的,一种是和tomcat集成的,当然都是免费的 ...
- Android调用JNI本地方法跟踪目标代码
正如Android调用JNI本地方法经过有点改变章所说跟踪代码是可行的,但是跟踪某些代码会出现anr,点击取消,还是不好运,有提高办法吗?回答是有(gdb还没试过,本文只讨论ida). 下面是我使用 ...
- 误用了 react-scripts eject 命令
react 小白编程 由于使用 create-react-app 脚手架构建项目的时候,会给几个命令用 其中一个命令吸引了我的注意力 yarn eject,因为构建完成后特别提示说“你不会想要用到这 ...
- StringUtils类使用 (转载)
检查字符串是否为空或null或仅仅包含空格 String test = ""; String test1=" "; String test2 = &quo ...
- Linux 如何搭建Lamp的服务环境
在介绍虚拟机的安装使用之前,我们先认识一下LINUX中LAMP是什么的缩写 L--Linux A--Apache M--Mysql P--PHP 虚拟机的安装百度有详细的介绍,非常简单的,这 ...
- 从前端看JavaWeb软件工程中的解耦合
以下为作者备忘,详情请看 http://www.cnblogs.com/feichengwulai/articles/3412946.html http://blog.csdn.net/piantou ...
- parameters arguments 形式参数 实际参数
parameter和argument的区别 – 笑遍世界 http://smilejay.com/2011/11/parameter_argument/ https://en.wikipedia.or ...
- STL之队列的运用
卡片游戏:非常好地介绍了队列的特点和应用 桌上有一叠牌,从第一张牌開始从上往下依次编号1~n.当至少还剩两张牌时进行例如以下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠牌的最后. 输入n,输出每次 ...