1、Windows系统安装完Git后,需要在Git Bash命令窗口输入以下命令,进行用户名和邮箱设置。
 
2、初始化一个Git仓库,使用git init命令。
 
3、添加文件到Git仓库,分两步:
     使用命令git add <file>,注意,可反复多次使用,添加多个文件;
     使用命令git commit -m <message>,完成。
 
4、要随时掌握工作区的状态,使用git status命令。
     如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
 
5、版本回退:
   Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
     HEAD指向的版本就是当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^。
     穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。如果嫌输出信息太多,可以加上参数--pretty=oneline
   
     (前面一长串信息为commit_id,使用SHA1计算出来的一个非常庞大的数字,用十六进制表示,以自己电脑生成为准)
     要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
 
6、版本库:
  工作区有一个隐藏目录.git,不算工作区,是git的版本库。版本库里存了许多东西,其中最重要的就是stage(暂存区),还有git为我们创建的第一个分支master,以及指向master的一个指针叫HEAD。
往git版本库添加文件时分两步,首先将需要提交的文件通通放到暂存区(使用git add命令),然后往master分支上提交更改。(git commit)。注:没有使用git add命令提交到暂存区的文件,不会提交到分支上。
 
7、撤销修改:
场景1:当乱改了工作区的文件内容,想要直接丢弃时,用命令git checkout -- file。
场景2:当乱改了工作区文件内容且添加到暂存区时,想要丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销参照版本回退。(前提时没有推送到远程库)
 
8、删除文件:用命令git  rm <file>。如果一个文件已经提交到版本库,永远不用担心误删,可用命令git checkout -- file 命令恢复,但只能恢复到最新版本。(删除文件夹命令:git rm -rf  文件夹名称)
 
9、远程仓库:
(1)用命令 ssh-keygen -t rsa -C "yourmail@example.com"产生私钥与公钥,在用户主目录.ssh中可以找到id_rsa与id_rsa.pub两个文件。登录GitHub,打开“Account settings”,“SSH-Keys”页面将公钥添加进去。这样就可以用GitHub免费托管你的Git仓库。
(2)添加远程库:
第一步,用命令git remote add origin git@server-name:path/repo-name.git将本地与远程库关联。
origin为远程库名,Git默认叫法。例如:(需把Judynie换成自己的GitHub账户名,learngit为本地库名)
第二步,将本地所有内容推送到远程库上。用命令git push -u origin master(由于远程库是空的,第一次推送master分支时,加上-u参数,不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来。之后可以直接使用命令git push origin master推送最新修改。)
注:第一次使用push命令会出现以下信息,输入yes,一路回车即可。
 
10、从远程库克隆:要克隆一个仓库,首先必须知道仓库地址,然后使用git clone命令克隆。如下:
查看远程库信息命令:git remote -v
 
11、分支管理:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>(fast forward模式合并,看不出来曾经做过合并) 或  git merge --no-ff -m 'commit test' <name> (加上参数--no-ff就可以采用普通模式合并,合并后的历史有分支,能看出来曾经做过合并)例如:
删除分支:git branch -d <name>/ git branch -D <name> 强行删除。
 
12、解决冲突:当Git无法自动合并分支时,就必须首先解决冲突。
解决冲突的办法就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
用git log --graph(可加上参数 --pretty=oneline --abbrev-commit 简化输出内容)
 
 
13、bug分支:修复bug时会创建新的bug分支,然后合并删除。当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,然后再git stash pop(恢复现场同时把stash内容也删了),回到工作现场。
feature分支:开发一个feature,最好新建一个分支。
 
 
14、多人协作工作模式:
1、首先,可以用git push origin <branch name>推送自己的修改。
2、如果推送失败,需要用git pull试图合并。
注:若提示no tracking information, 则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name> 如下:
3、如果合并有冲突,则解决冲突,并在本地提交。
4、没有冲突或者解决掉冲突后,再用git push origin <branch name>就能推送成功。
 
 
15、git rebase命令可以把本地未push的分叉提交历史整理成直线,使得我们在查看历史提交变化时更容易, 因为分叉的提交需要三方对比。
 
16、标签管理:发布一个版本时,我们通常在版本库中打一个标签(tag),这样就唯一确定了打标签时刻的版本。
(1)命令 git tag <tagname> 创建标签,默认为HEAD,也可以指定一个commit id
(2)命令 git tag -a <tagname> -m 'blalabla' 可以指定标签信息
(3)命令 git tag 可查看所有标签信息
(4)命令 git push origin <tagname> 可推送一个本地标签
(5)命令 git push origin --tags 可推送全部未推送过的本地标签
(6)命令 git tag -d <tagname> 可删除一个本地标签
(7)命令 git push origin :refs/tags/<tagname>可删除一个远程标签
 
17、在GitHub上可以任意Fork开源仓库;自己拥有Fork后的仓库的读写权限;可以推送pull request给官方仓库贡献代码。
 
18、给命令配置别名:git config --global alias.st status 相当于 git status,当前用户的Git配置文件放于用户主目录下的一个隐藏文件.gitconfig中。如下:
 
 
 
 
 

Git命令学习总结(廖雪峰官方Git教程)的更多相关文章

  1. 廖雪峰的java教程

    F:\教程\0-免费下载-廖雪峰 公司电脑地址: G:\学习中\廖雪峰的java教程 廖雪峰java课程地址: https://www.feiyangedu.com/category/JavaSE 0 ...

  2. git常用命令总结--廖雪峰老师Git教程命令总结

    学习了廖雪峰老师的Git教程之后的命令总结,重点关于git和远程仓库的东西. 如果没有学过,这是传送门 下面这个图很重要 一.git初始化本地仓库和配置 echo "想输入到文件的内容,一般 ...

  3. Git命令学习之旅——日志和穿梭版本号

    在总结了git命令的基础之后,接下来我们看一下基础的一些进阶内容:删除撤销命令.日志查看命令等 既然有加入文件的功能,那么相相应的肯定有移除文件的功能,命令例如以下:git rm [文件名称] 在输入 ...

  4. python语言特性-------python2.7教程学习【廖雪峰版】(一)

    开始学习廖雪峰的py2.7教程: 2017年6月5日12:54:28 笔记: 廖雪峰python2.7教程1.用任何编程语言来开发程序,都是为了让计算机干活.  2.Python是一种相当高级的语言. ...

  5. 【js】【读书笔记】廖雪峰的js教程读书笔记

    最近在看廖雪峰的js教程,重温了下js基础,记下一些笔记,好记性不如烂笔头嘛 编写代码尽量使用严格模式 use strict JavaScript引擎是一个事件驱动的执行引擎,代码总是以单线程执行 执 ...

  6. 【学习总结】Git学习-参考廖雪峰老师教程六-分支管理

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  7. 【学习总结】Git学习-参考廖雪峰老师教程-总

    公元2018-10-21 实验室台式机 win7 64位 参考教程: 廖雪峰Git教程 其他资料:Git-book 北大一只总结的笔记,最终整理的时候可以参考:Git笔记 评论区看到的另一个人,总结在 ...

  8. git学习笔记——廖雪峰git教程

    OK,先附上教程--廖雪峰的官方网站 友情连接:git官网 简介 这里我只想引用他的原文: Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的.实际情况是这样的: L ...

  9. 【学习总结】Git学习-参考廖雪峰老师教程三-创建版本库

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  10. 【学习总结】Git学习-参考廖雪峰老师教程四-时光机穿梭

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

随机推荐

  1. Python网络爬虫get方法出现乱码的解决的三种方案

    给大家祭出网络爬虫过程中三种中文乱码的处理方案,希望对大家的学习有所帮助. 方案一 将requests.get().text改为requests.get().content 我们可以看到通过text( ...

  2. 安装pytorch-gpu的经验与教训

    首先说明 本文并不是安装教程,网上有很多,这里只是自己遇到的一些问题 我是以前安装的tensorflow-gpu的,但是发现现在的学术论文大部分都是用pytorch复现的,因此才去安装的pytorch ...

  3. (15)go-micro微服务main.go开发

    目录 一 导包 二 配置中心 三 注册中心 四 zap日志初始化 五 初始化Mysql数据库 六 初始化Redis连接 七 注册服务 八 初始化服务 九 注册 handle 十 启动服务 十一 mai ...

  4. liunx系统安装JDK环境详细步骤

    Liunx系统安装JDK环境详细步骤 一 下载liunx版本jdk压缩包 进入JDK官方网站下载jdk压缩包.下载前需要登入账户,可以自己注册一个账户! 也可以使用本博主提供的网盘下载https:// ...

  5. 定时调度插件------Sundial

    1 插件概述 开源链接:https://gitee.com/dotnetchina/Sundial 作者:百小僧 版本:2.5.6 2 使用方式 2.1 安装 nuget :搜索Sundial或使用命 ...

  6. STM32F0库函数初始化系列:进入STOP模式,外部中断唤醒

    SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0); EXTI_InitStructure.EXTI_Line=EXTI_Line ...

  7. FAS2720 配置

    FAS 2720配置操作 第1章 初始化 1.1设备物理安装 1.1.1组件介绍 机头FAS 2720 (2U)   前面板 后面 1.1.2准备工作 (1)工具准备 螺丝刀.网线.Console线. ...

  8. metasploit2-practice

    Metasploittable2打靶教程 本次靶机练习主要熟悉:高危端口利用:metasploit中search,show及各个模块使用. 一.环境准备 1.把靶场放在vmware打开,启用nat模式 ...

  9. java环境变量配置-最新版

    安装 百度"java下载"进入官网下载最新版,闭着眼睛安装: 配置jre 因java11以上不自带jre,需要我们自己配置,配置如下: # 终端进入jdk所在的目录后执行 bin\ ...

  10. JZOJ 7377.欢乐豆

    \(\text{Problem}\) 有一个有向完全图,所有的 \(u\) 到 \(v\) 的边权为 \(a_u\) 修改 \(m\) 此有向边边权,求最终图上两两点对的最短路之和 \(1\le n ...