[学习笔记 Day01]Git 版本控制系统:Git 命令的学习!

下载及安装

移步至下面的文章!

Git 仓库

记录着文件状态内容的地方,存储着修改的历史记录。

创建命令:

git init

Git 的三个区域

  • 工作区:实际开发中操作的文件夹
  • 暂存区:保存之前的准备区域(暂存改动过的文件)
  • 版本库:提交并保存暂存区中的内容,产生一个版本的快照
图片[1]-[学习笔记 Day01]Git 版本控制系统:Git 命令的学习!-资源刺客

补充:查看暂存区内的文件:# git ls-files

Git 的文件状态

  • 未跟踪:新文件,从未被 Git 管理过
  • 已跟踪:Git 已经知道和管理的文件
文件状态概念场景
未跟踪 U从未被 Git 管理过新文件
新添加 A第一次被 Git 暂存之前版本记录无此文件
未修改 ”三个区域统一提交保存后
已修改 M工作区内容变化修改了内容产生的

使用:修改文件 => 暂存 => 提交保存记录,如此反复

补充:查看文件状态:# git status -s

//如:
M M .../.../a.js
//第一个 M 暂存区的状态
//第二个 M 工作区的状态

Git 暂存区的使用:暂时存储,可以临时恢复代码内容,语版本库解耦

暂存区覆盖工作区:

# git restore 目标文件

暂存区移除文件

# git rm --cached 目标文件

Git 回退版本

把版本库中某个版本对应的内容快照恢复到工作区 / 暂存区。

命令:

// 查看提交历史
# git log --online
回退命令工作区暂存区
git reset –soft 版本号其他文件保留要恢复文件恢复
git reset –hard 版本号其他文件被覆盖其他文件被覆盖
git reset –mixed 版本号其他文件保留其他文件被覆盖

注意:

  1. 只有记录在版本库的提交记录才能恢复
  2. 回退后,继续修改 => 暂存 => 提交操作即可(产生新的提交记录过程)
// 查看回退后的提交记录
# git reflog --online

删除文件

步骤:

  • 手动删除工作区中要删除的文件
  • 暂存变更 / 手动删除暂存区的文件造成变更
  • 提交保存

忽略文件

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

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

例如:

  • 系统或软件自动产生的文件
  • 编译产生的结果文件
  • 运行时产生的日志文件、缓存文件、临时文件
  • 涉密文件、密码、密钥等文件

创建:

  • 项目根目录新建 .gitignore 文件
  • 填入响应配置来忽略指定文件

分支

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

场景:开发新需求 / 修复代码 BUG,保证主线代码随时可用,多人协同开发提高效率。

创建分支步骤:

  • 创建分支:
git branch 分支名
  • 切换分支
git checkout 分支名
  • 工作区准备代码并暂存提交,重复 3 次

查看现有的分支:

git branch

合并分支和删除步骤:

  • 切回到要合入的分支上
git checkout 分支名
  • 删除其他分支过来
git merge 分支名
  • 删除合并后的分支指针
git branch -d 分支名

合并和提交分支:原分支产生了新的提交记录后,在合并回去时发生自动使用多个快照记录合并后产生一次新的提交

合并冲突:

  • 不同分支中,对同一个文件的同一个部分修改,Git 无法干净的合并,产生合并冲突
  • 解决:
    1. 找到冲突文件并手动解决
    2. 解决后需提交一次记录

Git 远程仓库

步骤:

  • 新建第三方仓库得到远程仓库 Git 地址
  • 本地 Git 仓库添加远程仓库原点地址
    • 命令:
git remote add 远程仓库别名 远程仓库地址

// 例如:
git remote add name https://github.com/.../.../work.git
  • 本地 Git 仓库推送版本记录到远程仓库
    • 命令:
git push -u 远程仓库别名 本地和远程分支名
//或
git push --set-upstream 远程仓库别名 本地和远程分支名

// 例如:
git push -u name master
//或
git push --set-upstream name master:master

移除远程仓库:

git remote remove 远程仓库别名

克隆远程仓库:

git clone 远程仓库地址

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

gitee 仓库地址添加:

git remote origin(别名) 地址

远程仓库地址查看:

git remote -v

多人协同开发:

  • 同步最新内容命令:
git pull 远程仓库名

//或

//获取远程分支记录到本地,未合并
git fetch 远程仓库别名 本地和远程的分支名
//把远程分支记录合并到所在分支下
git merge 远程仓库别名/本地分支名
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容