Git相关知识2

该文详细介绍了Git的基本操作,包括初始化项目、添加文件到暂存区、提交到本地仓库、创建和切换分支、查看提交历史、合并分支以及删除分支。重点强调了gitcommit和gitadd的使用,并解释了.git文件夹中HEAD、config和refs目录的作用。
摘要由CSDN通过智能技术生成

练习:
 编写一个小项目 ,提交到git本地仓库
 工作区: 开发代码 =》 git add xxx
 暂存区 : 暂时存放我们开发的代码文件 =》 git commit
本地仓库:存放各个版本的历史
假设要做一个前端项目可以在github上下载html项目
1.-- 初始化项目

git init music

2.-- 添加一个index.html文件

git add index.html
git commit -m “Add index.html”
git log

3.-- 编写其他文件

git status
git add font/ icon/ image/ music/
git status
git commit -m “Add other data”
git status
git log

4.-- 添加页面样式

git status
git add script.js style.css
git status
git commit -m “Add css&js”
git status
git log

  1. – 修改代码文件

git status
修改了代码文件 新增文件
git status
git add -u
git status
git commit -m “Update”
git status
git log

补充:

1.git add -u
2.git log => 查看版本历史:
git log :
–reflog =》 查看所有操作的 commit 历史

1.指定输出格式

format
git log --format=oneline
git log --oneline [常用]
git log --oneline --reflog 可以连用
git log --oneline -n 2 显示最近几个commit
-n 2:
使用场景:
1.commit 特别多的时候
2.分支有关

2.分支:
一个分支一条线
默认分支:
主分支:主线 master

git branch:
branch List, create, or delete branches
git branch [–color[=] | --no-color] [–show-current]
[-v [–abbrev= | --no-abbrev]]
[–column[=] | --no-column] [–sort=]
[–merged []] [–no-merged []]
[–contains []] [–no-contains []]
[–points-at ] [–format=]
[(-r | --remotes) | (-a | --all)]
[–list] […​]
git branch [–track[=(direct|inherit)] | --no-track] [-f]
[–recurse-submodules] []
git branch (–set-upstream-to= | -u ) []
git branch --unset-upstream []
git branch (-m | -M) []
git branch (-c | -C) []
git branch (-d | -D) [-r] …​
git branch --edit-description []

1.创建分支
  git branch -c dev  =>默认从master直接复制来的
2.查看分支
  git branch -v
3.切换分支
  git checkout dev

git log --oneline master => 指定查看某个分支的 commit 历史
git log --oneline --gragh => 以图形化界面展示 分支的commit 历史
git log --oneline --gragh --all => 以图形化界面展示 所有分支 的commit 历史
gitk --all :
1.历史树 分支线
2.path =》 记录当前commit 变更文件
3.tree =》 记录当前commit 下文件结构
补充: 创建分支同时并切换分支
分支:git checkout

git checkout [-b|-B|–orphan] ] []
eg:
创建分支同时并切换分支
git checkout -b bigdata 61b6bb8
git branch -v
gitk --all
vim 1.log
git add 1.log
git status
git commit -m “Add 1.log”
git log --oneline --graph --all
gitk --all

从工作区 =》 本地仓库 :

git branch -c java
git checkout java
gitk --all
vim 1.log
git add -u
git commit -m “Update 1.log”
git log --oneline
vim 1.log
git status
git commit -am “Updata 1.log add 3333” !!!

注意:
 git commit -am
  -a 表示 工作区 暂存区 文件都有的前提下 ,更改工作区文件 可以直接提交到本地仓库
  但是 新增文件 不可以

3.删除分支

git branch (-d | -D) …
-d: 删除分支之前 要求merge 到主分支
-D: 强制删除分支

git branch -d java
error: The branch ‘java’ is not fully merged.
If you are sure you want to delete it, run ‘git branch -D java’

merge–合并分支

git branch -D java
git branch -v

.git文件夹 目录介绍:

1.HEAD 文件 当前项目 正在工作的分支是谁
		cat HEAD
		ref: refs/heads/master
	2.config :
		记录项目的一些参数 一些配置信息
	git config --local user.name "zihang"  =》 set 设置参数
	git config --local user.name           =》 get操作
	3.refs/
		heads/  存储的是分支的指向 哪个commit
			commit hash =》 对应存储的文件内容是什么?
			git cat-file
						-t  =》 文件类型 =》 git存储文件 有关系
						-p  => 文件内容
		object:是git存储的真正对象 种类有 如下
			commit:
				tree  =》
					tree =》文件夹
					blob =》 文件

git存储文件高效的原因:
不同的文件 只要文件内容有相同的部分 就是一个 blob

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值