Git笔记总结

67 阅读3分钟

Git

一、简介

Git 是一个开源的分布式版本控制系统(Distributed Version Control System, DVCS),用于高效地处理任何或小或大的项目。与集中式版本控制系统(如 CVS、SVN)不同,Git 采用了分布式的设计,使得每个开发者都可以在自己的本地机器上克隆(clone)整个项目的代码仓库,并在本地进行代码的修改、提交等操作,然后再将本地的改动推送到远程代码仓库中。

Snipaste_2024-06-28_17-05-07.png

二、Git工作的基本流程

  1. 从远程仓库克隆到本地仓库

  2. 把本地仓库的信息剪切到代码目录下

  3. 提交前需将文件上传到暂存区下

  4. 将暂存区的文件提交到本地仓库

  5. 将本地仓库的文件推送到远程仓库

Snipaste_2024-06-28_15-23-23.png

三、常用命令

3.1 设置用户信息

#设置用户名
git config --global user.name "用户名"

#设置用户邮箱
git config --global user.email "邮箱"

3.2 查看配置信息

#查看全部配置信息
git config --list

#查看用户配置信息
git conig --gloabl --list

3.3 操作git库

#初始化一个git空仓库
git init

#克隆远程仓库到本地
git clone 远程仓库链接

3.4 操作文件

#查看文件状态
git status

#查看文件状态(简化版)
git status -s

#添加文件到暂存区
git add 文件名

#添加所有文件到暂存区
git add .

#将暂存区的文件提交到本地仓库
git commit -m "备注提交的信息"

#将本地仓库的文件推送到远程仓库
git push

#拉取远程仓库的master分支并合并到当前分支里
git pull origin master

3.5 回测版本

#查看本地仓库版本控制日志
git log

#查看本地仓库版本控制日志(简化版)
git log --pretty=oneline

#根据id(查询日志可见)回归版本
git reset --hard 版本id

#回测到上一版本
git reset --hard HEAD^

#回测到指定版本(命令里的3代表本地库向上回测3次)
git reset --hard HEAD~3

3.6 操作分支

#列出本地所有分支
git branch

#列出所有远程分支
git branch -r 

#创建分支
git branch 分支名

#切换分支
git checkout 分支名

#合并分支到当前分支
git merge 分支名

#推送分支至远程仓库分支
git push origin 分支名

#删除本地分支
git branch -d 分支名

#删除远程仓库分支
git push origin --delete 分支名

四、理论

4.1文件状态

Untracked 未跟踪(未加入版本控制) Unmodified 未修改状态(在版本控制里,未被修改,即本地文件与本地库内容相同) Modified 已修改状态(在版本控制里,已被修改,即本地文件与本地库内容不同) Staged 已暂存状态(已加入暂存区里)

五、bug专区

5.1 git push后错误

#报错
master -> master (non-fast-forward)

原因:Git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。远程仓库和本地仓库存在差异。

解决方法

#拉取远程仓库的master分支并合并到当前分支里,就可以消除差异了
git pull origin master