Git常用命令

Git Basics

切始化一个Git仓库

git init

克隆远程库:

git clone url

添加文件到Gt仓库:

git add

git commit -m

将当前staged修改合并到最近一次的 commit中

git commit -m --amend

查看仓库状态:

git status

git diff

比较工作区和暂存区的修改:

git diff

比较工作区和上一次commit后的修改

git diff HEAD

比较暂存区和上一次commit后的修改

git diff --cached

git log

查看提交日志;

git log

限制log的显示数量

git log -

每行显示一条commit

git log --oneline

git log --pretty=oneline

按提交者名字搜索并显示commit

git log --author=""

按指定内容搜索并显示commit

git log --grep=""

仅显示包含指定文件修改的commit

git log --

使用--graph参数显示图形化的branch信息

git log --graph

git log --graph --pretty=oneline --abbrev-commit

查看历史命令

git reflog

撤销修改和版本回退

把文件readme.txt在工作区的修改全部撤销;

git checkout -- readme.txt

有两种情况:

1、readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态

2、readme.txt已经添加到暂存区后,又做了修改,现在,撤销修改就回到添加到暂存区后的状态

将从暂存区移除,但保持工作区不变。此操作不会修改工作区的任何文件

git reset

移除所有暂存区的修改,并强制删除所有工作区的修改

git reset --hard

将当前分支回滚到指定,清除 暂存区的修改,但保持工作区状态不变

git reset

将当前分支回滚到指定,清除 暂存区的修改,并强制删除所有工作区的 修改

git reset --hard

回退到上一个版本:

git reset --hard HEAD^

把暂存区的修改撤销,重新放回工作区:

git reset HEAD readme. txt

对指定创建一个undo的 commit,并应用到当前分支

git revert

HEAD:当前版本

HEAD^:上一个版本

HEAD^^:上上一个版本

HEAD~100:往上100个版本

远程库

把本地仓库与远程仓库关联:

git remote add origin git@github.com:username/learngit.git

首次:git push -u origin master

非首次:git push origin mastef

推送dev份支:

git push origin dev

拉取远程分支:

git pull

从指定抓取所有分支的commit 并立刻合并到本地repo

git pull

从指定抓取指定的所 有commit到本地repo。去掉将 抓取远程所有分支的修改

git fetch

查看远程库信息

git remote -v

删除远程库, 如删除origin

git remote rm origin

查看远程库的信息:

git remote

qit remote -v

分支

创建并切换到dev分支:

git checkout -b dev

相当于以下两条命令:

git branch dev

git checkout dev

创建分支:

git branch 或

git switch

切换到master分支;

git checkout master或

git switch -c master

查看当前分支:

git branch

现在在master分支,把dev分支的内容合并到master分支

git merge dev

非fast forward合并

git merge --no-ff -m "merge with no-ff dev

删除dev分支:

git branch -d dey

创建远程origin的dev分支到本地:

git checkout -b dev origin/dev

设置本地dev分支与远程origin/dev分束的链接:

git branch --set-upstream-to=origin/dev dev

标签

在最新commit上打标签:

git tag v1.0

在某个commit上打标签

git tag v1.0

创建带有说明的标签,用-a指定标签名,-m指定说明文字:

git tag -a v0.1 -m "version 0.1 released"

查看所有标签:

git tag

查看某个标签信息:

git show v1.0

删除标签:

git tag -d vO.1

推送某个标签到远程

git push origin

一次性推送全部尚未推送到远程的本地标签;

git push origin --tags

删除远程标签:

先从本地删除:git tag -d v0.9

再从远程删除:git push origin:refs/tags/v0.9

把当前工作现场保存起来:

git stash

查看保存的工作现场:

git stash list

恢复工作现场,stash内容不删除:

git stash apply

恢复工作现场,stash内容删除:

git stash drop

复制一个特定的提交到当前分支:

git cherry-pick

把分叉的提交历史"整理"成一条直线:

git rebase

基于对当前分支进行rebase。 可以是commit、分支名称、tag或 相对于HEAD的commit

git rebase

Git config

配置当前用户名,使用--global参数将针对 当前系统登录用户生效

git config --global user.name

配置当前用户Email

git config --global user.email

打开当前用户的git全局配置并编辑

git config --global --edit

工作区和暂存区

把文件往Git版本库里添加时,分两步执行:

1、用git add把文件修改添加到暂存区

2、git commit把暂存区的内容提交到分支上

其它

忽略某些文件:.gitignore

git图形界面工具:SourceTree

相关推荐
大厂技术总监下海27 分钟前
用户行为分析怎么做?ClickHouse + 嵌套数据结构,轻松处理复杂事件
大数据·数据结构·数据库
番茄灭世神28 分钟前
Git入门使用学习
git·gitee·软件工程·计算机专业入门
大厂技术总监下海33 分钟前
大数据生态的“主动脉”:RocketMQ 如何无缝桥接 Flink、Spark 与业务系统?
大数据·开源·rocketmq
2501_9336707940 分钟前
2026年中专大数据专业可考取的证书
大数据
oMcLin1 小时前
如何在Ubuntu 22.04 LTS上优化PostgreSQL 14集群,提升大数据查询的响应速度与稳定性?
大数据·ubuntu·postgresql
信创天地1 小时前
核心系统去 “O” 攻坚:信创数据库迁移的双轨运行与数据一致性保障方案
java·大数据·数据库·金融·架构·政务
zhyf1191 小时前
Max395(ubuntu24.04)AMD显卡GLM-4.7-UD-IQ1-M量化模型部署手册
大数据·elasticsearch·搜索引擎
南_山无梅落1 小时前
团队协作高频Git实用手册(项目实战版)
git·团队开发
小北方城市网1 小时前
微服务接口设计实战指南:高可用、易维护的接口设计原则与规范
java·大数据·运维·python·微服务·fastapi·数据库架构
就叫飞六吧2 小时前
git提取当前分支指定文件历史版本
git