当前位置: 首页 > news >正文

【Git】git基础

Git

命令

git config --globle user.name ""git config --globle user.email ""git config -lgit config --globle --unset []git add []git commit -m ""]git log//当行且美观
git log --pretty=oneline//以图形化和简短的方式
git log --graph --abbrev-commitgit cat-file -p [3a6640b795dd96f8d1d4f7574c9db489cdc1a2ab]git statusgit diff file_name

版本回退

git reset [ --soft | --mixed | --hard ] [3a6640b795dd96f8d1d4f7574c9db489cdc1a2ab]op:
--soft : 只回退版本库,工作区和暂存区不回退。
--mixed : 回退版本库和暂存区,工作区不回退。(default op)
--hard : 全部都要回退git reflog

撤销

只在工作区

//将工作区回退到当前版本
git checkout --[file_name]

在工作区和暂存区

//版本库和暂存区回退到当前版本
git reset HEAD  [--mixed | --hard]//工作区回退到当前版本
git checkout -- [file_name]

在工作、暂存、版本区

前提: commit 之后 没有 push

//版本库和暂存区回退到上个版本
git reset HEAD^  [--mixed | --hard]//工作区回退到当前版本
git checkout -- [file_name]

删除

//删除工作区和暂存区的内容
git rm [file_name]git commit -m ""

分支

分支管理

//查看分支
git branch//创建一个分支
git branch branch_name//更换当前分支
git checkout branch_name//创建并更换当前分支
git checkout -b branch_name//合并分支
git merge branch_name//删除分支
git branch -d branch_name//分支未合并,但已经提交
git branch -D branch_name

分支冲突

merge 冲突需要手动解决,并且需要进行一次提交。

合并分支的时候最好使用no fast forward模式,以便于溯源提交。

git merge -no-ff -m "merge dev2" dev2
//将工作区内容保存
git stashgit stash pop

远程操作

git clone urlgit remote -v  

使用ssh克隆仓库

ssh-keygen -t rsa -C "email地 址"//再将ssh公钥配置对应的平台

推送

//本地:远程 分支名称相同可以省略
git push origin master:mastergit push origin branch_name

拉取

//远程:本地 分支名称相同可以省略
git pull origin master:master

配置.gitignore

# 排除
*.so
*.cc
# 不排除
!c.so
//强制提交忽略文件
git add -f file_namegit check-ignore -v file_name

git配置

//git st
git config --global alias.st status//git lpa
git config --global alias.lpa 'log --pretty=oneline --abbrev-commit'

标签管理

针对最后一次 commit 起一个 v1.0 的标签

git tag v1.0 commitIdgit taggit tag -a v0.8 -m "important"git show v0.8git tag -d v0.9//本地删除v1.0,再推送远端
git push origin:v1.0git push origin v1.0//推送所有标签
git push origin --tags

多人协作

git branch -rgit branch -a//查看链接情况
git branch -vv//两种链接方式:
git branch --set-upstream-to=origin/dev devgit checkout -b dev origin/devgit pull
# 1拉取分支内的内容
# 2拉取仓库的内容(不用建立链接 )

各自负责对应的分支

远程删除分支后,本地依然能看到

git remote show origingit remote prune
http://www.lryc.cn/news/270828.html

相关文章:

  • Linux中账号和权限管理
  • Resnet BatchNormalization 迁移学习
  • Unity检测地面坡度丨人物上坡检测
  • SASS循环
  • Java超高精度无线定位技术--UWB (超宽带)人员定位系统源码
  • 系列十一、解压文件到指定目录
  • PHP Swoole Client
  • 《QDebug 2023年12月》
  • sklearn 中matplotlib编制图表
  • 【Docker-Dev】Mac M2 搭建docker的redis环境
  • docker +gitee+ jenkins +maven项目 (一)
  • IDEA 开发中常用的快捷键
  • Ubuntu Desktop 死机处理
  • Hermite矩阵
  • HTML 实操试题(二)
  • MongoDB 面试题
  • LeetCode 1154. 一年中的第几天:2023年最后一道每日一题
  • 《深入理解JAVA虚拟机笔记》OutOfMemoryError 异常
  • R306指纹识别模块指令系统
  • redis的搭建及应用(三)-Redis主从配置
  • Java学习,一文掌握Java之SpringBoot框架学习文集(1)
  • javaWeb学生信息管理系统2
  • Linux Shell 019-文本行处理工具sed
  • Ubuntu中fdisk磁盘分区并挂载、扩容逻辑卷
  • 【leetcode】栈与队列总结
  • [EFI]HP Spectre 13 v102nl电脑 Hackintosh 黑苹果efi引导文件
  • 【Pytorch】学习记录分享8——PyTorch自然语言处理基础-词向量模型Word2Vec
  • 【Kotlin 】协程
  • 用Xshell连接虚拟机的Ubuntu20.04系统记录。虚拟机Ubuntu无法上网。本机能ping通虚拟机,反之不能。互ping不通
  • 人机对话--关于意识机器