git命令使用详细介绍

1 环境配置

设置的信息会保存在~/.gitconfig文件中

查看配置信息

shell 复制代码
git config --list
git config user.name

设置用户信息

shell 复制代码
git config --global user.name "有勇气的牛排"
git config --global user.email "[email protected]"

2 获取Git仓库

2.1 本地初始化一个仓库

shell 复制代码
git init

2.2 从远程仓库克隆

shell 复制代码
git clone 远程仓库地址https://gitee.com/zx7758/mybatis-demo01.git

3 工作目录、暂存区、版本库概念

版本库:.git隐藏文件夹的目录就是工作目录,主要用于存放开发的代码

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

暂存区:.git文件夹中有很多文件,其中index文件就是暂存区,主要用于存放开发的代码

4 Git 工作目录下文件的两种状态

  • untracked 为跟踪(未被纳入版本控制)
  • tracked 以跟踪(被纳入版本控制)
  • Unmodified 未修改状态
  • Modified 已暂存状态

5 本地仓库操作

5.1 查看文件状态

shell 复制代码
git status

简洁输出

shell 复制代码
$ git status -s
?? .idea/
?? er.name
?? mybatisDemo.iml
?? pom.xml
?? src/
?? target/
?? web/

5.2 将为跟踪文件加入暂存区

shell 复制代码
git add pom.xml

查看状态

shell 复制代码
git status

5.3 取消加入暂存区

shell 复制代码
git reset pom.xml

5.4 将暂存区文件提交到本地仓库

shell 复制代码
git commit -m *

5.5 删除文件

shell 复制代码

6 远程仓库操作

6.1 查看远程仓库

列出指定的每一个远程服务器

shell 复制代码
git remote
shell 复制代码
git remote show origin

6.2 添加远程仓库

格式:git remote add <shortname> <url>

shell 复制代码
git remote add mybatis https://gitee.com/***/mybatis-demo01.git

6.3 克隆存在远程仓库

shell 复制代码
git clone https://gitee.com/***/mybatis-demo01.git

6.4 移除无效仓库

shell 复制代码
git remote rm origin

注意:此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库

6.5 从远程仓库中抓取与拉取

shell 复制代码
git init
shell 复制代码
git remote add origin https://gitee.com/***/mybatis-demo01.git
shell 复制代码
git fetch origin master
shell 复制代码
git fetch origin/master

6.6 从远程仓库获取最新版并merge到本地仓库

shell 复制代码
git init
shell 复制代码
git remote add origin https://gitee.com/***/mybatis-demo01.git
shell 复制代码
git pull origin master

注意

如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )

解决方法

shell 复制代码
git pull --allow-unrelated-histories

couldn't find remote ref --allow-unrelated-histories报错解决

shell 复制代码
git pull --rebase origin master

6.7 将本地分支与远程分支关联

shell 复制代码
git branch --set-upstream-to origin/master master

6.8 推送代码到远程仓库

shell 复制代码
git push origin master

7 分支

几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的master分支并不是一个特殊分支。 它跟其它分支没有区别。 之所以几乎每一个仓库都有 master 分支,是因为git init 命令默认创建它,并且大多数人都懒得去改动它。

7.1 查看分支

列出所有本地分支

shell 复制代码
git branch

列出所有远程分支

shell 复制代码
git branch -r

列出所有本地分支和远程分支

shell 复制代码
git branch -a

7.2 创建分支

shell 复制代码
git branch
shell 复制代码
git branch one

7.3 切换分支

shell 复制代码
git checkout one

7.3 推送至远程仓库分支

shell 复制代码
git push mybatis one

7.4 合并分支

shell 复制代码
git merge one

7.5 删除分支

shell 复制代码
git beanch -d one

如果正在开发,删除会失败,强制-D

原文地址
https://www.couragesteak.com/edit#/articleId/142

相关推荐
4Forsee2 小时前
【Git】从本地存档到协作开发的Git简单使用
git
Э时间行者于我4 小时前
git同时删除多个分支
git
我的golang之路果然有问题11 小时前
给git配置SSH(github,gitee)
经验分享·笔记·git·学习·gitee·ssh·github
漫步企鹅12 小时前
[Git] Git Stash 命令详解
git·git push·git pull·git commit·git pull rebase
船长@Quant14 小时前
协作开发攻略:Git全面使用指南 — 第二部分 高级技巧与最佳实践
git·版本控制·源代码管理·协作开发
用户126538387051216 小时前
github 和 gitee 配置问题及相关问题解决
git·github
极小狐17 小时前
极狐GitLab Git LFS 速率限制如何设置?
运维·git·ssh·gitlab·github
极小狐17 小时前
如何解决极狐GitLab 合并冲突?
人工智能·git·机器学习·gitlab
一袋米扛几楼9817 小时前
【GIT】github中的仓库如何删除?
git·github
hjm470219218 小时前
GIT 使用小记
git