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

<think>我们被要求生成一个关于Git常用命令的汇总列表。根据用户的要求,我们需要提供结构清晰的回答,并尽量保证真实可靠。同时,我们参考了站内引用中提供的Git命令信息。根据引用内容,我们可以整理出以下常用命令:1.基本操作(初始化、添加、提交等)2.分支管理3.远程仓库操作4.标签管理5.历史查看与撤销6.其他实用命令(如删除大文件、清理仓库等)我们将按照这些类别来组织命令。注意:由于引用中提供了一些特定问题的解决方案(如删除大文件),我们也会将其作为实用命令的一部分。另外,注意用户要求使用中文回答,并且行内数学表达式使用$...$格式(但本问题不涉及数学表达式,所以忽略),独立公式使用$$...$$格式(同样不涉及)。同时,在回答末尾生成相关问题。我们开始整理Git常用命令汇总:</think>### Git常用命令汇总 以下是Git常用命令分类整理,帮助您高效管理代码版本: #### 1. 仓库初始化与基础操作 ```bash # 初始化新仓库 $ git init # 克隆远程仓库 $ git clone <远程仓库URL> # 查看当前状态 $ git status # 添加文件到暂存区 $ git add <文件名> # 添加单个文件 $ git add . # 添加所有修改 # 提交更改 $ git commit -m "提交说明" ``` #### 2. 分支管理 ```bash # 创建分支 $ git branch <新分支名> # 切换分支 $ git checkout <分支名> $ git switch <分支名> # Git 2.23+推荐方式 # 创建并切换分支 $ git checkout -b <新分支名> $ git switch -c <新分支名> # 合并分支 $ git merge <要合并的分支名> # 删除分支 $ git branch -d <分支名> # 安全删除 $ git branch -D <分支名> # 强制删除未合并分支 ``` #### 3. 远程仓库操作 ```bash # 添加远程仓库 $ git remote add origin <远程仓库URL> # 查看远程仓库 $ git remote -v # 推送到远程仓库 $ git push -u origin <分支名> # 首次推送 $ git push # 后续推送 # 拉取远程更新 $ git pull origin <分支名> $ git pull --rebase origin <分支名> # 变基式拉取 # 删除远程连接 $ git remote rm origin ``` #### 4. 版本回退与撤销 ```bash # 查看提交历史 $ git log $ git log --oneline # 简洁版日志 # 撤销工作区修改 $ git checkout -- <文件名> # 撤销暂存区文件 $ git reset HEAD <文件名> # 版本回退 $ git reset --hard <commit_id> # 彻底回退 $ git reset --soft <commit_id> # 保留修改 # 恢复删除的文件 $ git restore <文件名> # Git 2.23+ ``` #### 5. 标签管理 ```bash # 查看标签 $ git tag # 创建标签 $ git tag <标签名> # 轻量标签 $ git tag -a v1.0 -m "版本说明" # 附注标签 # 推送标签 $ git push origin <标签名> # 删除标签 $ git tag -d <标签名> # 本地删除 $ git push origin :refs/tags/<标签名> # 远程删除 ``` #### 6. 高级维护 ```bash # 清理历史大文件 $ git filter-branch --force --index-filter \ 'git rm -rf --cached --ignore-unmatch <文件名>' \ --prune-empty --tag-name-filter cat -- --all # 回收存储空间 $ git reflog expire --expire=now --all $ git gc --prune=now # 查看仓库大小 $ git count-objects -vH ``` #### 7. 配置相关 ```bash # 设置用户名/邮箱 $ git config --global user.name "用户名" $ git config --global user.email "邮箱" # 查看配置 $ git config --list # 设置默认编辑器 $ git config --global core.editor vim ``` > **最佳实践提示**: > 1. 频繁提交小变更,保持提交记录清晰 > 2. 使用`.gitignore`文件排除无需版本控制的文件 > 3. 重要分支(如main/prod)设置保护规则 > 4. 推送前先执行`git pull --rebase`避免合并提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值