【Git】git基础

news/2024/7/24 3:51:09 标签: git
github-gist">

Git

命令

git config --globle user.name ""

git config --globle user.email ""

git config -l

git config --globle --unset []

git add []

git commit -m ""]

git log

//当行且美观
git log --pretty=oneline

//以图形化和简短的方式
git log --graph --abbrev-commit

git cat-file -p [3a6640b795dd96f8d1d4f7574c9db489cdc1a2ab]

git status

git 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 stash

git stash pop

远程操作

git clone url

git remote -v  

使用ssh克隆仓库

ssh-keygen -t rsa -C "email地 址"

//再将ssh公钥配置对应的平台

推送

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

git push origin branch_name

拉取

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

gitignore_165">配置.gitignore

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

git check-ignore -v file_name

git_181">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 commitId

git tag

git tag -a v0.8 -m "important"

git show v0.8

git tag -d v0.9

//本地删除v1.0,再推送远端
git push origin:v1.0

git push origin v1.0

//推送所有标签
git push origin --tags

多人协作

git branch -r

git branch -a

//查看链接情况
git branch -vv

//两种链接方式:
git branch --set-upstream-to=origin/dev dev

git checkout -b dev origin/dev

git pull
# 1拉取分支内的内容
# 2拉取仓库的内容(不用建立链接 )

各自负责对应的分支

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

git remote show origin

git remote prune

http://www.niftyadmin.cn/n/5297611.html

相关文章

2024做一个乐呵呵的奋斗者

每一个行业都是一个内卷的行业,今天卷,明天会更卷。未来的人总会比今天的人,拥有更优渥的条件,面临更大的竞争优势。他们会发现新的赛道,沿着行业的发展方向,稳步掘进。那么,已经身在这个行当里…

受“博比特虫”启发可实现多模态传感抓取动作的软执行器来了

软执行器可以实现对易碎和不规则形状物体的精细自适应抓取,这在生物和工程系统中至关重要。然而,目前软机器人在抓取的时候往往受制于抓取能力不足和功能限制。 博比特虫捕获猎物 最近研究人员提出了一种受博比特虫启发的多模态传感自适应软抓取器&…

【GoLang】Go语言几种标准库介绍(三)

文章目录 前言几种库debug 库 (各种调试文件格式访问及调试功能)相关的包和工具:示例 encoding (常见算法如 JSON、XML、Base64 等)常用的子包和其主要功能:示例 flag(命令行解析)关键概念:示例示例执行 总结专栏集锦写在最后 前言 上一篇&a…

U4_3 语法分析-自底向上分析-LR0/LR1/SLR分析

文章目录 一、LR分析法1、概念2、流程3、LR分析器结构及分析表构造1)结构2)一些概念 二、LR(0)分析法1、流程2、分析动作1)移近2)归约(reduce) 3、总结1)LR分析器2)构造DFA3)构造LR(0)的方法(三…

【每日一题】一周中的第几天

文章目录 Tag题目来源解题思路方法一:模拟 写在最后 Tag 【模拟】【数学】【2023-12-30】 题目来源 1185. 一周中的第几天 解题思路 方法一:模拟 思路 题目中的日期是在 1971 到 2100 年之间的有效日期,即 1971-01-01 到 2100-12-31 范围…

Java集合/泛型篇----第五篇

系列文章目录 文章目录 系列文章目录前言一、说说LinkHashSet( HashSet+LinkedHashMap)二、HashMap(数组+链表+红黑树)三、说说ConcurrentHashMap前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通…

今天来讲解一下JavaScript中的代理与反射(又是一个小知识速速收藏)

JavaScript 中的代理(Proxy)和反射(Reflect)是两个强大的功能,它们允许您在操作对象时拦截、修改或扩展其行为。这两个功能通常一起使用,以实现高度的控制和元编程能力。下面分别介绍代理和反射的概念和用法…

解算人生--写于2023跨年之夜

最近买了一本书,书名叫《计算》 读了部分内容,虽然理解上还需要再下下功夫,但是直观的感觉冲击还是挺大的,最明显的就是表面与本质的把握。大家可能都有这样一种感觉,初步涉足某一领域时,开始我们都会被大量…