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. 题解P1559 运动员最佳匹配问题

    简要题意 给出 \(n\) 个白色顶点,\(n\) 个黑色顶点.白色顶点 \(i\) 和黑色顶点 \(j\) 之间的边的权为 \(P_{i,j}\cdot Q_{j,i}\),求二分图最大权匹配. 思 ...

  2. 均有商业公司支持!2023再看数据湖 hudi iceberg delta2 社区发展现状!

    开源数据湖三剑客 Apache hudi.Apache iceberg .Databricks delta 近年来大动作不断. 2021年8月,Apache Iceberg 的创始人 Ryan Blu ...

  3. 基于AbstractProcessor扩展MapStruct自动生成实体映射工具类

    作者:京东物流 王北永 姚再毅 1 背景 日常开发过程中,尤其在 DDD 过程中,经常遇到 VO/MODEL/PO 等领域模型的相互转换.此时我们会一个字段一个字段进行 set|get 设置.要么使用 ...

  4. antd 3.x升4.x踩坑之路~

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 兼容性问题 第三方依赖兼容问题 React - 最低 v16.9,部 ...

  5. 【随笔记】FRAM 铁电随机存储器(MB85RC04VPNF)

    参考资料 器件规格书:https://atta.szlcsc.com/upload/public/pdf/source/20131104/1457706659695.pdf I2C总线规范:https ...

  6. Performance API不完全使用指北

    本教程解释了如何使用Performance API来记录真实用户访问你的应用程序的统计数据. 使用浏览器的DevTools来评估web应用性能是很有用的,但要复现现实世界的使用情况并不容易.因为人们在 ...

  7. TS不能将类型“any[]”分配给类型“never[]”

    一.问题 在处理接口返回的数据,赋值给store中的数组时,报类型错误 data:{ cateList: [] } const getCateList = async () => { const ...

  8. .Net Core对于`RabbitMQ`封装分布式事件总线

    首先我们需要了解到分布式事件总线是什么: 分布式事件总线是一种在分布式系统中提供事件通知.订阅和发布机制的技术.它允许多个组件或微服务之间的协作和通信,而无需直接耦合或了解彼此的实现细节.通过事件总线 ...

  9. ThinkPad E580 装Ubuntu系 系统无WIFI 解决办法

    首先得下载 最新的驱动,我之前因为自己的下载的驱动不够新,导致我的驱动一直装不上去 https://github.com/tomaspinho/rtl8821ce 这个是最新的驱动的下载 地址,建议从 ...

  10. springboot 多数据源 实例(sybase、mysql数据库)(上)

    最近项目 需要用到 sybase(sql anywhere).mysql 数据库 两边数据交互 .由于之前对sybase 数据库一点不懂 踩了许多坑 特意记下: 连接 sybase 客户端需要用到 S ...