[笔记1]---廖雪峰老师的Git教程
来源:互联网 发布:上海古籍出版社 知乎 编辑:程序博客网 时间:2024/06/06 01:36
传送门:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845513aefd77a99f4145f0a2c7a7ca057e7570000
1.Git是一种分布式版本控制系统。(Version Control System)
①每个人电脑里都有完整的版本库。
②分支管理
2.集中式的版本控制系统(中央服务器)
①CVS—Concurrent(并行) Version System
②SVN—Subversion版本控制系统
3.查看git上的用户名和邮箱:
$git config user.name$git config user.email
4.修改用户名和邮箱地址:
$git config --global user.name "username"$git config --global user.email "email"
5.创建版本库(repository)
①
切换至计算机e盘$ cd e:/
②
pwd:print working directory
③
GBK:国标扩展,前三个字的第一个字母
④初始化一个Git仓库,使用
git init
⑤添加文件到Git仓库
1.git add <file> 可重复多次使用,添加多个文件2.git commit -m "description"
⑥
git status命令可以让我们时刻掌握仓库当前的状态git diff命令查看具体修改的内容(difference)
⑦
git log --pretty=oneline
⑧
cat = concatenate files and print on the standard output
6.版本回退
1.HEAD指向的版本就是当前版本。使用命令git reset --hard commit_id 可获取任何一个历史版本。2.git log查看提交历史,确认要推到哪个版本。3.git reflog查看命令历史,确认要回到未来的哪个版本。
7.工作区和暂存区
1.工作区(working directory)---可见的目录。2.版本库(repository)---工作区中的隐藏目录.git,算是Git的版本库。3.工作区的文件通过git add <filename> 进入暂存区(Stage),通过git commit一次性将暂存区中的所有文件提交到分支(默认为master)。
8.管理修改
1.Git跟踪并管理的是修改,而非文件。2.每次修改,如果不add到暂存区(Stage),就不会加入到commit中。
9.撤销修改
①初始状态—readme.txt
②一不小心这样了
解决之法:
③又一不小心add到暂存区了
解决之法:
1.先从暂存区退到工作区
2.使用checkout将其从工作区中撤销
④add + commit
解决之法:
小结:
场景1.想丢弃工作区的修改,用命令git checkout -- filename.场景2.已经添加到暂存区了,用命令git reset HEAD filename 回到场景1,再执行场景1的操作。场景3.都提交到版本库,用命令git reset --hard HEAD^,直接完事。(注意hard前没有空格)
10.删除文件
在工作区创建了一个文本文件test.txt,将其add到暂存器并commit至版本库。rm test.txt只能删除工作区中的该文件。场景1.如果想要删除版本库中的该文件,git rm test.txt,通过git commit -m "remove test.txt"。场景2.如果是误删了作用区中的该文件,可借助版本库中的该文件对其恢复:git checkout -- test.txt。只能恢复文件到最新的版本,但会丢失最近一次提交后你所修改的内容。
11.远程仓库
1.SSH:Secure Shell 安全外壳协议
12.添加远程库
1.关联一个远程仓库:$ git remote add origin https://github.com/server-name/learngit.git,在此之前确保在该目录下有个隐藏文件.git[git init]。2.关联后,使用命令git push -u origin master 第一次推送master分支的所有内容。[u---upstream]3.此后,每次本地提交后,有需要就可以使用命令git push origin master推送最新修改。
13.从远程仓库克隆
1.要克隆一个仓库,首先必须要知道仓库的地址,然后使用git clone命令克隆。2.Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
14.创建和合并分支
1.git merge命令用语合并指定分支到当前分支。(以下合并dev分支至master)
2.git branch -d dev 删除dev分支
3.小结1.查看分支:git branch2.创建分支:git branch <name>3.切换分支:git checkout <name>4.创建+切换分支:git checkout -b <name>5.合并某分支到当前分支:git merge <name>6.删除分支:git branch -d <name>
15.解决冲突
1.当一个文件同时被不同的分支修改时就会造成冲突。此时可能会导致Git无法自动合并分支,就必须首先解决冲突,再提交,合并完成。【master | feature1】
16.分支管理策略
--no-ff 方式的git merge
17.Bug分支
1.stash功能:保存现场,直至下次继续工作。2.修复bug时,先保存当前分支的"现场",然后创建新的分支进行bug修复,然后合并,最后删除。之后再返回"现场",有以下两种方式:a)git stash apply,但恢复后,stash内容并没删除,需要使用git stash drop删除。b)git stash pop,一步到位。
阅读全文
0 0
- [笔记1]---廖雪峰老师的Git教程
- [笔记2]---廖雪峰老师的Git教程
- 廖雪峰老师git教程笔记(1)
- 学习廖雪峰老师的git课程笔记(一)
- Git笔记(廖雪峰老师课程)
- 廖雪峰Git教程笔记
- 学习Git(对廖雪峰Git教程的摘抄笔记)
- Git学习(廖雪峰的Git教程)笔记
- Git学习(廖雪峰的Git教程)笔记2
- git学习(廖雪峰的git教程)笔记 一
- 廖雪峰的Git教程
- 根据廖雪峰老师的git教程,得出的个人总结
- 终极大boss,极力推荐廖雪峰老师的git教程
- 《Git教程-廖雪峰》学习笔记
- 廖雪峰老师git学习笔记(2)
- Git 学习笔记(from廖雪峰老师)
- 廖雪峰-git教程
- 廖雪峰git教程
- 在Unity3D中使用Bing语音服务(文字转语音)
- 致远表单代办状态删除
- 微信支付:服务器(Java)统一下单获取prepay_id成功,前端公众号里调用jsapi提示支付验证签名失败
- ES6的了解
- 第三篇 蓝牙工程样例模板
- [笔记1]---廖雪峰老师的Git教程
- Game of Connections -组合数学中的计数问题
- 无限自动轮播加小点加从网上获取图片
- Jenkins检测代码软件要注意
- Csharp进阶:DataTimeDemo,MathDemo,path类
- eclipse+maven生成web项目的war包的操作方法
- webpack3如何正确引用并使用jQuery库
- Uncaught Error: Bootstrap's JavaScript requires jQuery at bootstrap.min.js:6
- 服务器性能优化的正确姿势