Git基础学习(⿊马程序员笔记)
Git介绍
Git是⽬前世界上最先进的分布式版本控制系统
Git安装
Git与Github
两者区别
Git是⼀个分布式版本库控制系统,简单的说就是⼀个软件,⽤于记录⼀个或若⼲⽂件内容变化,以便将来来查阅特定版本修订情况的软件。Github是⼀个为⽤户提供Git服务的⽹站,简单说就是⼀个可以放代码的地⽅(不过可以放的当然不仅是代码)除了提供管理的Web界⾯外,还提供了订阅,关注,讨论组,在线编辑器等丰富的功能。Github被称为全球最⼤的基友⽹站。
注册Github
Git使⽤
Git操作的三个区域
⼯作流程
本地仓库操作
仓库:⼜名版本库,英⽂名repository,我们可以简单理解成是⼀个⽬录,⽤于存放代码的,这个⽬录⾥⾯的所有⽂件都可以被Git管理起来,每个⽂件的修改,删除等操作Git都能跟踪到。
1. 安装好后⾸次使⽤需要先进⾏全局配置,桌⾯空⽩处右键,点击"Git Bash Here"以打开Git命令⾏窗⼝
git config -- global user.name "⽤户名"
git config --ail"邮箱地址"
2. 创建仓库
当我们需要让Git去管理某个新项⽬/已存在项⽬的时候,就需要创建仓库了。注意,创建仓库时使⽤的⽬录不⼀定要求是空⽬录,选择⼀个⾮空⽬录也是可以的,但是不建议在现有项⽬上来学习Git.
注意:为了避免在学习或使⽤过程中出现各种奇葩问题,请不要使⽤包含中⽂的⽬录名(⽗⽬录亦是如此)
a. 创建空⽬录
在桌⾯点击右键新建⽂件夹或在Git命令⾏⼯具中使$ mkdir pro_git命令。
b.在命令⾏中进⼊项⽬⽬录
使⽤cd pro_git命令
c. Git仓库初始化(让Git知道他需要来管理这个⽬录)
指令:Git init
执⾏之后会在项⽬⽬录下创".git"的隐藏⽬录,这个⽬录是Git所创建的,不能删除,也不能随意更改其中的内容。
3. Git常⽤指令操作
添加到缓存区git add ⽂件名(可以添加⼀个⽂件,也可以添加多个⽂件)
提交⾄版本git commit-m"注释内容"
查看当前状态git status
版本回退
版本回退分为两步骤进⾏操作;
git常用指令1. 查看版本,确定需要回到的时刻点
指令:git log
2. 回退操作
指令:git reset–hard 版本号
注意:回到过去之后,要想再回到之前最新的版本的时候,则需要使⽤指令去查看历史操作,以得到最新的commit id.
指令:git reflog
3. ⼩结
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使⽤技能
图形管理⼯具
1. Github for Desktop
⽹址:
Github出品的软件,功能完善,使⽤⽅便,对于经常使⽤Github的开发⼈员来说是⾮常便捷的⼯具,界⾯⼲净,⽤起来⾮常顺⼿,顶部的分⽀时间线⾮常绚丽
2. Source tree
⽹址:
⽼牌的Git GUI管理⼯具,也号称是最好⽤的的Git GUI⼯具,功能丰富,基本操作和⾼级操作都⾮常流畅,适合初学者上⼿。
3. TortoiseGit
⽹址:
忽略⽂件
场景:在项⽬⽬录下有很多万年不变的⽂件⽬录,例如css,js,images等,或者还有⼀些⽬录即便有改动,我们也不想让其提交到远程仓库的⽂档,此时我们可以使⽤"忽略⽂件"机制来实现需求。
忽略⽂件需要新建⼀个名为.gitnore的⽂件,该⽂件⽤户⽤于声明忽略⽂件或不忽略⽂件的规则,规则对当前⽬录及其⼦⽬录⽣效。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。