2022-05-14 Git使用大全

前言

内容来自于整理的Xmind格式转文档,内容捎乱,常用指令基本都有,后续不断完善

Xmind图:
请添加图片描述

环境配置

当安装完Git首先要做就是设置用户名称和E-mail地址

设置用户信息

  • git config --global user.name “zsl”
  • git config --global user.email “zsl975@xx.xx” #并不会校验邮箱是否合法

查看配置信息

  • git config --list
  • git config user.name

通过上面的命令设置的信息会被保存在~/.git目录 config 文件中

获得Git仓库

  • 本地初始化:git init
  • 远程仓库克隆:git clone https://github.com/xx/xx

Git命令

获取Git仓库

  • 本地初始化:git init
  • 远程仓库克隆:git clone https://github.com/xx/xx

工作目录、暂存区和版本库

版本库

git,中存储了配置信息、日志信息和文件版本信息等

工作目录(工作区)

包含.git文件夹的目录就是工作目录,主要用于存放开发的代码

暂存区

.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage

暂存区是一个临时保存修改文件的地方

远程仓库

如github、gitee

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

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

本地仓库操作

  • git status 查看仓库状态 -s 更整洁
  • git add [文件名]|[文件夹名]|[*.java]|[.]|[-A]|[–all] 添加文件到暂存区
  • git reset
    • 将暂存区文件移除:HEAD
    • 只重置本地仓库:-soft [版本号]
    • 重置本地仓库和暂存区:–mixed [版本号]
    • 重置本地仓库和暂存区和工作区:–hard [版本号]
  • git commit 将暂存区文件提交到本地仓库
    • -a 将已跟踪的文件提交到本地仓库
    • -m "init hello.txt“ 附带提交log信息
    • –amend -m “xx” 修改log信息
  • git rm 删除文件(工作区文件) 直接commit提交
  • 将文件添加至忽略列表:固定文件名称.gitignore
.gitignore
 # no .a files
 *.a
 # but do track lib.a, even though you're ignoring .a files above
 !lib.a

 # only ignore the TODO file in the current directory, not subdir/TODO
 /TODO

 # ignore all files in the build/ directory
 build/

 # ignore doc/notes.txt, but not doc/server/arch.txt
 doc/*.txt

 # ignore all .pdf files in the doc/ directory
 doc/**/*.pdf

  • git log 查看日志记录
    • 简略版(一行显示):–oneline
  • git diff 不带参数 比较工作区和暂存区的不同
    • –cached 比较暂存区和本地仓库的不同
    • HEAD 比较 工作区和本地仓库不同
    • 版本号 不同版本号比较

远程仓库操作

  • git remote 查看远程仓库 -v 详细查看 show origin
  • git remote add 添加远程仓库
  • git clone <branck-name可选>[remote] 从远程仓库克隆
  • git clone -b 分支名 https://xxx.git 只克隆单分支(非master)
  • git remote rm 移除(本地)无效的远程仓库
  • git fetch mer 从远程仓库中抓取,不会自动merge
  • git merge origin/master
  • git pull [remote-name] [branch-name] 从远程仓库中拉取,会自动merge
  • git checkout -b [branch-name] [remote-name/branch-name] 从远程仓库中拉取,并创建
  • 本地仓库存在文件报错时 git pull --allow-unrelated-histories
  • git push [remote-name] [branch-name] 推送到远程仓库
  • git push origin -d [branch-name] 删除远程仓库分支

Git分支

查看分支

  • git branch # 列出所有本地分支
  • git branch -r # 列出所有远程分支
  • git branch -a # 列出所有本地分支和远程分支

创建分支

  • git branch [branchname] 创建分支,会以当前分支为模板创建新分支(copy)

切换分支

  • git checkout [branch] 进入分支
  • git checkout -b [branch] 创建并进入
  • git checkout -b template origin/template 作用是checkout远程仓库origin的分支template,在本地起名为template分支,并切换到本地的template分支

推送至远程仓库分支

  • git push [remote-name] [branch-name] 推送到远程仓库

合并分支

  • git merge [branch-name] 在当前下分支合并其它分支

删除分支

  • git branch -d 删除本地仓库分支//-D强制删除

注意事项:1.不能删除当前分支2.不能删除主分支

  • git push origin -d [branch-name] 删除远程仓库分支

Git 标签

列出已有的标签

  • git tag # 列出所用tag

其它操作

  • git show [tag] # 查看tag信息
  • git tag 创建新标签
  • git push [remote] [tag] 将标签推送至远程仓库
  • git checkout -b [branch] [tag] 创建新的分支与标签 检出标签

删除标签

  • git tag -d [tag] # 删除本地tag
  • git push [remote-name] :refs/tags/[tag] # 删除远程tag

使用场景
版本(version):v1.0.0、 v2.0.0

使用 SSH 协议传输数据

Git 支持的传输协议

  • 本地协议(Local)
  • HTTPS 协议
  • SSH(Secure Shell 安全外壳协议)协议
  • Git 协议

配置 SSH 协议

  1. ssh-keygen -t rsa 生成公钥和私钥,执行完成后在window本地用)户.ssh目录C:\Users\用户名.ssh下面生成私钥(id_rsa)和公钥(id_rsa.pub)
  2. 复制公钥文件内容至码云服务器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值