Git常用命令

本文详细介绍Git的使用方法,包括本地管理、标签管理、分支管理、日志管理和远程仓库管理等核心功能。通过丰富的命令示例,帮助读者快速掌握Git的基本操作。

git命令大全




git本地管理

git init [newreponame]

创建一个本地仓库。
newreponame :指定新仓库的名称

git add [.] [file …]

将文件添加到暂存区。
. :添加所有文件;file ... :添加指定文件

git status [-s]

查看文件是否修改(文件状态有三种:未跟踪、未暂存、未提交)。
-s :显示摘要(简短信息显示)

git diff [–stat | –cached | HEAD]

查看尚未暂存的改动。
--stat :显示摘要(简短信息显示)
--cached :查看已暂存但未提交的改动
HEAD :查看已暂存的与未暂存的所有改动

git commit [-m | -am | –amend]

将改动提交到版本库中。
-m :在命令后面添加注释(默认打开编辑器输入注释)
-am : 将没有add进入暂存区的改动一块提交(等于先执行git add 后在执行git commit)
--amend  :合并上一次提交(通过日志查看看到最后一次提交的注释)

git reset HEAD [filename …]

取消已暂存的内容。
filename : 指定需要取消的文件(默认取消所有)

git rm [-f | –cached]

将改动从暂存区中移除。
-f :移除暂存的同时将该文件给删除。
--cached :移除暂存保留文件(文件处于未跟踪状态)。

git mv [oldname newname]

文件重命名<oldname newname>。该操作是先执行git rm --cached将文件
从暂存区中移除,然后重名名后在执行git add。

git标签管理

git tag

显示所有的tag

git tag -a [tagname] -m [commit]

创建一个标签。
tagname:标签名
commit:标签注释

git tag -d [tagname]

删除一个标签。
tagname:标签名

git checkout [tagname]

切换到指定名称的分之下。
-b :创建指定branchname的分支并切换到该分支下。

git show [tag]

显示tag。

git分支管理

git branch [branchname]

创建分支。如果没有添加branchname则列出所有分支

git checkout [-b] [branchname]

切换到指定名称的分支下。
-b :创建指定branchname的分支并切换到该分支下。

git branch -d [branchname]

删除指定名称的分支。

git merge [branchname]

将指定名称的分支与当前分支合并。(如果在合并分支中出现冲突,
需要手动修改有冲突的内容,在修改完成后通过git add命令完成修改)

git branch [branchname] [tagname]

根据指定的tag创建一个分支。

git日志管理

git log [–reverse][–oneline][–graph][-n][–decorate]

查看提交日志。
--reverse :倒序显示。(默认是按照最近时间显示)
--oneline :显示简要日志
--graph   :查看出现分支合并的日志
--n      :显示n行日志(n为整数)
--decorate:显示tag、分支等信息。

git diff

用于比较两次修改的差异。默认比较工作区和暂存区
--cached : 比较暂存区与最新本地版本库
HEAD     :比较工作区与最新本地版本库
commitid :比较工作区与指定commitid的差异
[commitid][commitid] :比较两个commitid的差异

git远程仓库管理

git clone [directory]

从远程仓库克隆一个库。()
repo :仓库名;directory :可以指定新仓库的名称

git remote -v

查看所有的远程库。

git remote add [name] [url]

添加远程仓库。
name :指定远程库的简称 
url :远程库的地址

git remote rm [name]

删除远程库。
name :远程库名称

git push [remoteName] [localBranchName:[remoteBranchName]]

将本地仓库内容推送到远程仓库。
remoteName :远程库名称
localBranchName :本地分支名称。
remoteBranchName :远程分支名称。本地分支会被提交到该远程分支中,该参数可为空,
那么git默认提交到和本地分支同名的远程分支中

$ git push origin master     提交到远程库的master中
$ git push origin master:test    将本地仓库的master分支提交到远程库的test分支。

git pull [remoteName] [remoteBranchName:[localBranchName]]

从远程库中获取指定分支下的内容。
remoteName :远程库名称。
localBranchName :如果不写该参数,默认情况下会在本地库中创建master分支用于存放远程库分支的内容,
如果本地库中不存在master分支,那么在指定localBranchName分支后,会默认将远程分支的内容放入到master
和localBranchName中。

git push [remote] [tag]

将tag提交到远程服务器

git push [remote] –tags

将本地所有tag提交到远程服务器
<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`避免合并提交
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值