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 "[email protected]"
  • 查看配置信息
复制代码
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]
相关推荐
小生不才yz2 小时前
15. git push
git
阿虎儿2 小时前
基于三方开源项目二次开发的版本管理最佳实践
git
曼陀罗4 小时前
【Git篇】commit失败后,展示: stash@{0}WIP on Feature_xx:
git
Qter7 小时前
GIT代码提交规范模板
git
nan_black7 小时前
在conda虚拟环境安装GIT并且克隆github上项目指南(解决443问题)
git·github·conda
前端付杰8 小时前
BFG Repo-Cleaner 教程:快速清理 Git 仓库中的敏感数据和大文件
javascript·git·github
大哥喝阔落8 小时前
git操作0409
大数据·git·elasticsearch
FixBug_Nick1 天前
Jenkins配置的JDK,Maven和Git
java·git·jdk·jenkins·maven
weixin_461259411 天前
git命令自动拉去远程分支到本地
git
程序猿chen1 天前
JVM考古现场(十七):鸿蒙初辟——从太极二进到混沌原初的编译天道
开发语言·jvm·git·后端·程序人生·java-ee·改行学it