Git基础学习(黑马程序员笔记)
Posted 她还会来吗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git基础学习(黑马程序员笔记)相关的知识,希望对你有一定的参考价值。
Git介绍
Git是目前世界上最先进的分布式版本控制系统
Git安装
Git与Github
两者区别
Git
是一个分布式版本库控制系统,简单的说就是一个软件,用于记录一个或若干文件内容变化,以便将来来查阅特定版本修订情况的软件。
Github
是一个为用户提供Git服务的网站,简单说就是一个可以放代码的地方(不过可以放的当然不仅是代码)除了提供管理的Web界面外,还提供了订阅,关注,讨论组,在线编辑器等丰富的功能。Github被称为全球最大的基友网站。
注册Github
Git使用
Git操作的三个区域
工作流程
本地仓库操作
仓库:又名版本库,英文名repository,我们可以简单理解成是一个目录,用于存放代码的,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除等操作Git都能跟踪到。
- 安装好后首次使用需要先进行全局配置,桌面空白处右键,点击"Git Bash Here"以打开Git命令行窗口
git config -- global user.name "用户名"
git config --global user.email"邮箱地址"
-
创建仓库
当我们需要让Git去管理某个新项目/已存在项目的时候,就需要创建仓库了。注意,创建仓库时使用的目录不一定要求是空目录,选择一个非空目录也是可以的,但是不建议在现有项目上来学习Git.
注意:为了避免在学习或使用过程中出现各种奇葩问题,请不要使用包含中文的目录名(父目录亦是如此)
a. 创建空目录
在桌面点击右键新建文件夹或在Git命令行工具中使$ mkdir pro_git命令。
b.在命令行中进入项目目录
使用cd pro_git命令
c. Git仓库初始化(让Git知道他需要来管理这个目录)
指令:Git init
执行之后会在项目目录下创".git"的隐藏目录,这个目录是Git所创建的,不能删除,也不能随意更改其中的内容。 -
Git常用指令操作
添加到缓存区git add 文件名(可以添加一个文件,也可以添加多个文件)
提交至版本git commit-m"注释内容"
查看当前状态git status
版本回退
版本回退分为两步骤进行操作;
- 查看版本,确定需要回到的时刻点
指令:git log
- 回退操作
指令:git reset–hard 版本号
注意:回到过去之后,要想再回到之前最新的版本的时候,则需要使用指令去查看历史操作,以得到最新的commit id.
指令:git reflog
- 小结
a. 要想回到过去,必须先得到commit id,然后通过git reset–hard进行回退
b. 要想回到未来,需要使用git reflog进行历史操作查看,得到最新的commit id.
c. 在写回退指令的时候commit id可以不用写全,git自动识别,但是也不能写太少,至少需要写前四位字符。
Github https协议
a. 使用clone指令克隆线上仓库到本地
指令:git clone线上仓库地址
b. 在仓库上做对应的操作(提交暂存区,本地仓库,线上仓库,拉取线上仓库),提交到线上仓库的指令
指令:git push
在首次往线上仓库提交内容的时候出现了403的致命错误,原因不是任何人都可以往线上仓库提交内容,必须需要鉴权。需要修改".git/config"文件内容。
c.拉取线上仓库
指令:git pull
Github ssH协议
该方式与前面https方式相比,只是影响github对于用户的身份鉴权方式,对于git的具体操作(如提交本地 添加注释 提交远程等操作)没有任何影响
。
a. 打开提示
b. 创建公私钥对文件(需要自行安装OpenSSH):ssh-keygen-t rsa-C “注册邮箱”
c. 上传公钥文件内容
Git分支管理
在版本回退的章节里,每次提交后都会有记录,Git把他们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,我们称之为master分支
在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满足多人同时开发的需求的,并且在分支上工作并不影响其它分支的正常使用,会更加安全,Git鼓励开发者使用分支去完成一些开发任务。
分支指令
查看分支:git branch
创建分支:git branch 分支名
切换分支:git checkout 分支名
删除分支:git branch -d 分支名
合并分支:git merge 被合并的分支名
首先现在dev分支下的readme文件中新增一行并提交本地
切换到master分支下观察readme文件
将dev分支的内容与master分支合并
Git使用技能
图形管理工具
- Github for Desktop
网址:https://desktop.github.com/
Github出品的软件,功能完善,使用方便,对于经常使用Github的开发人员来说是非常便捷的工具,界面干净,用起来非常顺手,顶部的分支时间线非常绚丽 - Source tree
网址:https://www.sourcetreeapp.com/
老牌的Git GUI管理工具,也号称是最好用的的Git GUI工具,功能丰富,基本操作和高级操作都非常流畅,适合初学者上手。 - TortoiseGit
网址:https://www.oschina.net/p/tortoisegit?hmsr=aladdin1e1
忽略文件
场景:在项目目录下有很多万年不变的文件目录,例如css,js,images等,或者还有一些目录即便有改动,我们也不想让其提交到远程仓库的文档,此时我们可以使用"忽略文件"机制来实现需求。
忽略文件需要新建一个名为.gitnore的文件,该文件用户用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效。
注意:该文件因为没有文件名,没办法直接在windows目录下直接创建,可以通过命令行Git Bash来touch创建
以上是关于Git基础学习(黑马程序员笔记)的主要内容,如果未能解决你的问题,请参考以下文章
C++学习:第一阶段(C++基础入门)———B站黑马程序员C++学习笔记