Git管理

git作用:代码回溯 版本切换 多人协作 远程备份

git仓库:本地仓库:开发人员自己电脑上的Git仓库

原程仓库:远程服务器上的Git仓库

commit:提交,将本地文件和版本信息保存到本地仓库

push:推送,将本地仓库文件和版本信息上传到远程仓库

pull:拉取,将远程仓库文件和版本信息下载到本地仓库

版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等

工作区:包含.git文件夹的目录就是工作区,也称为工作目录,主要存放开发的代码

暂存区:.git文件夹中有一个index文件夹就是暂存区,也可以叫做stage,暂存区是一个临时保存修改文件的地方

Git常用命令

  • 设置用户信息(user.name和user.email可以任意设置)
复制代码
git config --global user.name "Wuhu"
git config --global user.email "1234567@qq.com"
  • 查看配置信息
复制代码
git config --list
  • 获取Git仓库--在本地初始化Git仓库

在任意目录下创建一个空目录作为我们的本地Git仓库,进入这个目录中,点击右键打开Git bush窗口,执行git init

复制代码
git init

本地仓库操作

  • 获取Git仓库--将远程仓库克隆到本地仓库

在任意目录下创建一个空目录作为我们的本地Git仓库,进入这个目录中,点击右键打开Git bush窗口,执行git init

复制代码
git clone [远程仓库地址]
  • 将文件的修改加入暂存区
复制代码
git add [文件名或者*]
  • 将暂存区的文件的取消暂存或切换到指定版本
复制代码
git reset [文件名]
git reset --hard [commit后面的版本号]
  • 将暂存区文件修改提交到版本库
复制代码
git commit -m "init hello.txt" hello.txt
  • 查看日志
复制代码
git log

远程仓库操作

  • 查看远程仓库
复制代码
git remote -v

添加远程仓库,shortname引用简写(习惯写origin)

复制代码
git remote add [shortname] [url]

从远程仓库克隆

复制代码
git clone [url]

从远程仓库拉取,branchname分支名称,master主分支

复制代码
git pull [shortname] [branchname]
/**
如果当前本地仓库不是从远程仓库拉取,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件时会报错
(fatal:refusing to merge unrelated histories)
git pull --allow-unrelated-histories
**/

推送到远程仓库

复制代码
git push [shortname] [branchname]

Git工作区中文件的状态

复制代码
git status
  • untracked未跟踪(未被纳入版本控制)
  • tracked已跟踪(被纳入版本控制)

    1. Unmodified未修改状态

    2. Modified已修改状态

    3. Staged已暂存状态

本地文件推送到远程仓库步骤
复制代码
//将文件的修改加入暂存区
git add test.txt
复制代码
//将暂存区文件修改提交到版本库(本地仓库)
git commit -m "edit text.txt" test.txt
复制代码
//推送到远程仓库
git push origin master
分支操作
  • 查看分支
复制代码
//列出所有本地分支
git branch
​
//列出所有远程分支
git branch -r
​
//列出所有本地分支和远程分支,包括已删除的分支
git branch -a
  • 创建分支,name分支名称
复制代码
git branch [name] 
  • 切换分支
复制代码
git che  ckout [name]
  • 推送至远程仓库分支
复制代码
git pull [shortname] [name]
  • 合并分支
复制代码
git merge [name]
标签操作

标签是一个静态的概念,里面的文件状态是固定的

分支是一个动态的概念,里面的文件状态可以不断变化

  • 查看已有标签
复制代码
git tag
  • 创建标签,name标签名称
复制代码
git tag [name] 
  • 将标签推送至远程仓库
复制代码
git pull [shortname] [name]
  • 检出标签,branch新建分支用来指向某个标签
复制代码
git checkout -b [branch] [name]
相关推荐
云泽8082 小时前
Git 版本控制系统(下):从 .git 目录结构到冲突解决机制详解
大数据·git·elasticsearch
麻辣布丁9 小时前
Git冲突原因与解决方法全解
大数据·git·elasticsearch
一支黑色の铅笔13 小时前
VSCode 克隆Git项目
ide·git·vscode
拽着尾巴的鱼儿15 小时前
Idea:Cannot Run Git 无法运行git
java·git·intellij-idea
y小川19 小时前
【git】移除远端已删除的git分支
git
OsDepK1 天前
项目快速Git至仓库(完整版)
大数据·git·elasticsearch·搜索引擎
妙码生花1 天前
使用git更新ai-go-admin框架
前端·人工智能·git·golang·typescript·php
朝阳5811 天前
如何用 AI 自动生成规范的 Git 提交信息:从暂存区 diff 到 Conventional Commit
人工智能·git
hudawei9961 天前
有未保存的修改,不能切换分支
git·git stash·stash
康一夏1 天前
Git Commit 规范实践:Angular Commit 规范 + Commitlint 自动化验证
git·自动化·commit msg·commit规范