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中。如下:
- 廖雪峰的java教程
F:\教程\0-免费下载-廖雪峰 公司电脑地址: G:\学习中\廖雪峰的java教程 廖雪峰java课程地址: https://www.feiyangedu.com/category/JavaSE 0 ...
- git常用命令总结--廖雪峰老师Git教程命令总结
学习了廖雪峰老师的Git教程之后的命令总结,重点关于git和远程仓库的东西. 如果没有学过,这是传送门 下面这个图很重要 一.git初始化本地仓库和配置 echo "想输入到文件的内容,一般 ...
- Git命令学习之旅——日志和穿梭版本号
在总结了git命令的基础之后,接下来我们看一下基础的一些进阶内容:删除撤销命令.日志查看命令等 既然有加入文件的功能,那么相相应的肯定有移除文件的功能,命令例如以下:git rm [文件名称] 在输入 ...
- python语言特性-------python2.7教程学习【廖雪峰版】(一)
开始学习廖雪峰的py2.7教程: 2017年6月5日12:54:28 笔记: 廖雪峰python2.7教程1.用任何编程语言来开发程序,都是为了让计算机干活. 2.Python是一种相当高级的语言. ...
- 【js】【读书笔记】廖雪峰的js教程读书笔记
最近在看廖雪峰的js教程,重温了下js基础,记下一些笔记,好记性不如烂笔头嘛 编写代码尽量使用严格模式 use strict JavaScript引擎是一个事件驱动的执行引擎,代码总是以单线程执行 执 ...
- 【学习总结】Git学习-参考廖雪峰老师教程六-分支管理
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- 【学习总结】Git学习-参考廖雪峰老师教程-总
公元2018-10-21 实验室台式机 win7 64位 参考教程: 廖雪峰Git教程 其他资料:Git-book 北大一只总结的笔记,最终整理的时候可以参考:Git笔记 评论区看到的另一个人,总结在 ...
- git学习笔记——廖雪峰git教程
OK,先附上教程--廖雪峰的官方网站 友情连接:git官网 简介 这里我只想引用他的原文: Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的.实际情况是这样的: L ...
- 【学习总结】Git学习-参考廖雪峰老师教程三-创建版本库
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
- 【学习总结】Git学习-参考廖雪峰老师教程四-时光机穿梭
学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...
随机推荐
- MySQL 嵌套子查询 with子句 from子查询 in子查询 join组合
一.适用场景和方法 (1)适用场景 考虑查询过程中是否存在以下情况: 查询某些数据时需要分组才能得到,某些数据不需要分组就能得到或者分组条件不同: 查询某些数据时需要where条件,某些列不需要whe ...
- 时间日期相关总结-System类的常用方法
时间日期相关总结 Date类 A.构造方法 Date();根据当前系统时间创建日期对象 Date(long time);根据传入的毫秒值时间创建日期对象 B.成员方法 long getTime(); ...
- 问题记录:VMware vSphere vCenter 7.0 上传文件失败
问题记录:VMware vSphere vCenter 7.0 上传文件失败 环境说明: VC版本:VMware vSphere vCenter 7.0 ESXi版本:VMware vSphere E ...
- 聊聊火热的 ChatGPT(我帮大伙问了几个比较关心的问题)
如需要转载,请声明原文链接微信公众号「ENG八戒」https://mp.weixin.qq.com/s/L9tZy_KWnE1kf0E3HNhJhQ 本文大概 2562 个字,阅读需花 15 分钟 内 ...
- Windows服务安装小工具
主要为了方便Windows服务的安装卸载,不需要使用CMD命令. 先给大家小工具的效果图: 使用此工具需要注意一下几点: 1.服务程序的.NET Framework版本: 2.服务名称与服务执行程序名 ...
- 5步带你入门GaussDB(DWS)的GDS导入导出
摘要:本篇文档为使用GDS导入示例的具体简单步骤和示例. 本文分享自华为云社区<带你快速入门GDS导入导出,玩转PB级数仓GaussDB(DWS)>,作者: yd_220527686. 1 ...
- .net core 读取配置文件的几种方式
一.Json配置文件 1.这里的配置文件指的是下图 2.json配置文件示例 { "Logging": { "LogLevel": { "Defaul ...
- ROS入门:小海龟实验
1.初试小海龟 1.roscore 2.rosrun turtlesim turtlesim_node 3.rosrun turtlesim turtle_teleop_key 2.发布话题控制小海龟 ...
- 五:spring boot
五.spring boot 通过springboot可以快速的搭建一个基于ssm框架的Java application,简单配置,自动装配. JavaConfiguration用java类来替代xml ...
- 三:Mybatis
三.MyBatis 主流的ORM 支持java .NET Ruby三种语言,MyBatis是对JDBC的封装 ORM框架Hibernate 区别: 1)sql 优化方面 Hibernate 使用 HQ ...