Git学习

01.Git 初识

  1. 概念:一个免费开源,分布式的代码版本控制系统,帮助开发团队维护代码

  2. 作用:记录代码内容,切换代码版本,多人开发时高效合并代码内容

配置:用户名和邮箱,应用在每次提交代码版本时表明自己身份

命令:

git config --global user.name "itheima"

git config --global user.email "[email protected]"

02.Git 仓库

Git 仓库(repository):记录文件状态内容的地方,存储着修改的历史记录

创建:

1.把本地文件夹转换成 Git 仓库:命令 git init

2.从其他服务器上克隆 Git 仓库

03.Git 的三个区域

工作区:实际开发时操作的文件夹

暂存区:保存之前的准备区域(暂存改动过的文件)

版本库:提交并保存暂存区中的内容,产生一个版本快照

04.Git 文件状态

未跟踪:新文件,从未被 Git 管理过

已跟踪:Git 已经知道和管理的文件

05.Git 暂存区作用

暂存区:暂时存储,可以临时恢复代码内容,与版本库解耦

暂存区 -> 覆盖 -> 工作区,命令:git restore 目标文件(注意:完全确认覆盖时使用)

从暂存区移除文件,命令:git rm --cached 目标文件

06.Git-切换版本

概念:把版本库某个版本对应的内容快照,恢复到工作区/暂存区

查看提交历史:git log --oneline

回退命令:

git reset --soft 版本号(其他文件未跟踪)

git reset --hard 版本号

git reset --mixed 版本号 (与 git reset 等价)

注意1:只有记录在版本库的提交记录才能恢复

注意2:回退后,继续修改->暂存->提交操作即可(产生新的提交记录过程)

如何查看提交历史?

git log --oneline

git reflog --oneline

07.忽略文件

概念:.gitignore 文件可以让 git 彻底忽略跟踪指定文件

目的:让 git 仓库更小更快,避免重复无意义的文件管理

创建:

1.项目根目录新建 .gitignore 文件

2.填入相应配置来忽略指定文件

08.分支的概念

概念:本质上是指向提交节点的可变指针,默认名字是 master

注意:HEAD 指针影响工作区/暂存区的代码状态

需求:创建内容列表 content 分支,并产生 3 次提交记录

步骤:

1.创建分支命令:git branch 分支名

2.切换分支命令:git checkout 分支名

3.工作区准备代码并暂存提交,重复 3 次

如何创建和切换指针?

git branch 分支名

git checkout 分支名

\09.分支-合并与删除

需求:把 login-bug 合并回到 master 分支并删除 login-bug 分支

步骤:

1.切回到要合入的分支上:git checkout master

2.合并其他分支过来:git merge login-bug

3.删除合并后的分支指针:git branch -d login-bug

10.分支-合并与提交

注意:提交记录的顺序按照产生的先后顺序排列,而非合并的先后顺序

11.Git 常用命令

12.Git 远程仓库

概念:托管在因特网或其他网络中的你的项目的版本库

作用:保存版本库的历史记录,多人协作

创建:公司自己服务器 / 第三方托管平台(Gitee,GitLab,GitHub...)

需求:创建远程版本库,并把本地 Git 仓库推送上去保存

步骤:

1.注册第三方托管平台网站账号

2.新建仓库得到远程仓库 Git 地址

3.本地 Git 仓库添加远程仓库原点地址

命令:git remote add 远程仓库别名 远程仓库地址

例如:git remote add origin https://gitee.com/lidongxu/work.git

4.本地 Git 仓库推送版本记录到远程仓库

命令:git push -u 远程仓库别名 本地和远程分支名

例如:git push -u origin master

完整写法:git push --set-upstream origin master:master

13.Git 远程仓库 - 克隆

克隆:拷贝一个 Git 仓库到本地,进行使用

命令:git clone 远程仓库地址,例如:git clone https://gitee.com/lidongxu/work.git

效果:在运行命令所在文件夹,生成 work 项目文件夹(包含版本库,并映射到暂存区和工作区)

注意1:Git 本地仓库已经建立好和远程仓库的链接

注意2:仓库公开随意克隆,推送需要身为仓库团队成员

相关推荐
晨曦backend9 分钟前
Vim 替换命令完整学习笔记
笔记·学习·vim
liuyang___1 小时前
日期的数据格式转换
前端·后端·学习·node.js·node
蒙奇D索大1 小时前
【11408学习记录】[特殊字符] 速解命题核心!考研数学线性代数:4类行列式满分技巧(含秒杀公式)
笔记·学习·线性代数·考研·改行学it
哆啦A梦的口袋呀2 小时前
基于Python学习《Head First设计模式》第十章 状态模式
学习·设计模式
moxiaoran57532 小时前
uni-app学习笔记三十六--分段式选项卡组件的使用
笔记·学习·uni-app
栗子不爱栗子3 小时前
从理解AI到驾驭文字:一位技术爱好者的写作工具探索手记
python·学习·ai
sjg200104145 小时前
golang学习随便记x[2,3]-字符串处理与正则表达式
开发语言·学习·golang
fictionist5 小时前
动态 Web 开发技术入门篇
java·服务器·开发语言·笔记·学习·mysql·spring
飞翔的猪猪6 小时前
GitHub Recovery Codes - 用于 GitHub Two-factor authentication (2FA) 凭据丢失时登录账号
前端·git·github
恰薯条的屑海鸥6 小时前
零基础学前端-传统前端开发(第三期-CSS介绍与应用)
前端·css·学习·css3·前端开发·前端入门·前端教程