git学习笔记

Git 代码管理 (莫烦 Python Github 版本管理教程)
《极客Python之Git实用教程》(小甲鱼)

版本控制系统

初次使用前的配置

git config --global user.name "用户名"
git config --global user.email "邮箱"
查看配置
git config --list

基础知识

git每个版本都是独立保存。

working directorystage(index)repository(HEAD)
工作区add checkout暂存区commit reset仓库
工作流程:
  1. 在工作区添加、修改文件
  2. 将需要进行版本管理的文件放入暂存区
  3. 将暂存区的文件提交到仓库
三种状态:
  • 已修改 modified
  • 已暂存 staged
  • 已提交 committed
本地管理
  1. 新建文件夹并进入
  2. git init 初始化,将建立.git隐藏文件夹
  3. 新建并编辑文本文件,git add 文件名 放入暂存区
  4. git commit -m "更改信息" 提交到仓库 --amend更正最后一次提交
查看工作状态和历史提交
查看状态

git status

  • 新建文件,在工作区,untracked
  • add之后,进入暂存区,to be commited;git reset HEAD [文件]取消暂存(to unstage)
  • commit之后,进入仓库,nothing to commit, working directory clean
  • 修改仓库文件(modified),回到工作区,未暂存,继续add和commit;git checkout -- 文件放弃修改
  • 修改暂存区文件(modified),修改前文件依然在暂存区,待提交;修改后文件回到工作区,继续add和commit
查看历史提交

git log --oneline --graph --all
git reflog

回到过去

git reset HEAD~ 回到上一个版本
git reset HEAD~数字 回到多个版本以前
git reset HEAD~版本号 回到指定版本
--soft 移动HEAD指针,但不回滚到暂存区,相当于撤销上一次commit
[--mixed] 默认,移动HEAD指针,并回滚到暂存区
--hard 移动HEAD指针,并回滚到暂存区,同时将暂存区还原到工作区

git reset 版本号 文件/目录 回滚个别文件,但不会移动指针
git reset 版本号 回滚到之后

版本对比

git diff 当前工作区和暂存区
git diff 版本号 当前工作区和仓库版本
git diff HEAD 当前工作区和仓库最新版
git diff --cached [版本号] 暂存区和仓库版本
git diff 版本号1 版本号2 两个仓库版本

删除文件

git rm 文件 删除文件,只删除工作区和暂存区,也就是取消跟踪
git rm --cached 文件 只删除暂存区
git checkout -- 文件 撤销删除

重命名

git mv 旧文件名 新文件名

分支

git branch 分支名 创建分支
git checkout 分支名 切换分支,本质是指针指向新分支
git checkout -b 分支名 创建并切换分支
git merge 分支名 合并分支到当前分支。如果不同分支都有改动,要先解决冲突。
git branch -d 分支名 删除分支
git checkout 版本 匿名分支

checkout 和 reset

checkout:从历史版本或者暂存区拷贝到工作区;切换分支
reset:恢复文件时,没有soft或者hard。

reset将文件恢复到暂存区,而checkout同时覆盖暂存区和工作区。
checkout在切换分支前会检查是否clean,reset --hard直接覆盖。
reset移动HEAD所在分支的指向,checkout只移动HEAD自身。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值