Git 常用命令

本文介绍了Git的常用操作,包括修改和提交、远程与本地合并、撤消、别名设置等。还阐述了分支与标签、合并与衍合、远程操作、打包等内容。重点讲解了Git rebase变基与合并记录,通过具体工作流程说明如何简化提交历史,避免多次解决冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文本转载于:https://www.cnblogs.com/ldj3/p/9172804.html

贴过来用于方便查看,转载请尊重原创,谢谢!

本图详细解释请浏览:https://www.cnblogs.com/runnerjack/p/9342362.html

1 常用

$ git remote add origin git@github.com:yeszao/dofiler.git         # 配置远程git版本库
$ git pull origin master                                          # 下载代码及快速合并 
$ git push origin master                                          # 上传代码及快速合并
$ git push --force origin master                                  # 强制提交上传代码
$ git fetch origin                                                # 从远程库获取代码
$ git push origin 本地分支名:远程分支名                             # 创建远程分支

$ git branch                                                      # 显示所有分支
$ git checkout master                                             # 切换到master分支
$ git checkout -b dev_test origin/dev_test                        # 创建本地并切换到dev_test分支
$ git commit -m "first version"                                   # 提交
$ git status                                                      # 查看状态
$ git log                                                         # 查看提交历史

$ git config --global core.editor vim                             # 设置默认编辑器为vim(git默认用nano)
$ git config core.ignorecase false                                # 设置大小写敏感
$ git config --global user.name "YOUR NAME"                       # 设置用户名
$ git config --global user.email "YOUR EMAIL ADDRESS"             # 设置邮箱


假如ip变了,git远程仓库的地址也变了,这个时候就要自己手动修改项目连接到的远程仓库地址
在你本地的项目位置,右键-->git  bash  here,然后输入命令git remote set-url origin (新的git地址)
方式1、直接修改:            git remote set-url origin xxxxx.git
方式2、先删后加:            git remote rm origin
                           git remote add origin xxxxx.git
修改默认pull和push分支:     git branch --set-upstream-to=origin/develop develop
                           origin/develop develop为要设置的默认分支

2 修改和提交

$ git status                      # 查看状态
$ git diff <file>                 # 查看变更内容
$ git add .                       # 跟踪所有改动过的文件(在自己的分支进行操作)
$ git add <file>                  # 跟踪指定的文件
$ git mv <old> <new>              # 文件改名
$ git rm <file>                   # 删除文件
$ git rm --cached <file>          # 停止跟踪文件但不删除
$ git commit -m “commit message”  # 提交所有更新过的文件(将本地暂存区的代码提交到自己的分支上)
$ git commit --amend              # 修改最后一次提交

3 远程与本地合并

如果在远程创建了代码仓,而且已经初始化,本地是具体的源代码,那么工作流程应该是:

$ git clone <url> # 克隆远程版本库
$ git init                              # 初始化本地代码仓
$ git add .                             # 添加本地代码
$ git commit -m "add local source"      # 提交本地代码
$ git pull origin master                # 下载远程代码
$ git merge master                      # 合并master分支
$ git merge master --no-ff              # 将master分支压缩为一条记录合并过来
$ git push -u origin master             # 上传代码
$ git log                               # 查看提交历史
$ git log -p <file>                     # 查看指定文件的提交历史
$ git blame <file>                      # 以列表方式查看指定文件的提交历史

4 撤消

$ git reset --hard HEAD           # 撤消工作目录中所有未提交文件的修改内容
$ git reset --hard <version>      # 撤销到某个特定版本
$ git checkout HEAD <file>        # 撤消指定的未提交文件的修改内容
$ git checkout -- <file>          # 同上一个命令
$ git revert <commit>             # 撤消指定的提交

5 别名Alias

$ git config --global alias.br="branch"                 # 创建/查看本地分支
$ git config --global alias.co="checkout"               # 切换分支
$ git config --global alias.cb="checkout -b"            # 创建并切换到新分支
$ git config --global alias.cm="commit -m"              # 提交
$ git config --global alias.st="status"                 # 查看状态
$ git config --global alias.pullm="pull origin master"  # 拉取分支
$ git config --global alias.pushm="push origin master"  # 提交分支
$ git config --global alias.log="git log --oneline --graph --decorate --color=always" # 单行、分颜色显示记录

6 分支与标签

$ git branch                      # 显示所有本地分支
$ git checkout <branch/tag>       # 切换到指定分支或标签
$ git branch <new-branch>         # 创建新分支
$ git branch -d <branch>          # 删除本地分支
$ git branch -a                   # 查看远程分支
$ git tag                         # 列出所有本地标签
$ git tag <tagname>               # 基于最新提交创建标签
$ git tag -a "v1.0" -m "一些说明"  # -a指定标签名称,-m指定标签说明
$ git tag -d <tagname>            # 删除标签

7 合并与衍合

$ git merge <branch>              # 合并指定分支到当前分支
$ git merge --abort               # 取消当前合并,重建合并前状态
$ git merge dev -Xtheirs          # 以合并dev分支到当前分支,有冲突则以dev分支为准
$ git rebase <branch>             # 变基,衍合指定分支到当前分支
$ git rebase -i HEAD~2            # 整理自己的提交历史,2是指合并两次log

8 远程操作

$ git remote -v                   # 查看远程版本库信息
$ git remote show <remote>        # 查看指定远程版本库信息
$ git remote add <remote> <url>   # 添加远程版本库
$ git remote remove <remote>      # 删除指定的远程版本库
$ git fetch <remote>              # 从远程库获取代码
$ git pull <remote> <branch>      # 下载代码及快速合并
$ git push <remote> <branch>      # 上传代码及快速合并
$ git push origin --delete dev    # 删除远程分支
$ git push --tags                 # 上传所有标签

9 打包

$ git archive --format=zip --output ../file.zip master    # 将master分支打包成file.zip文件,保存在上一级目录
$ git archive --format=zip --output ../v1.2.zip v1.2      # 打包v1.2标签的文件,保存在上一级目录v1.2.zip文件中
$ git archive --format=zip v1.2 > ../v1.2.zip             # 作用同上一条命令

git打包命令会自动忽略.gitignore中指定的目录和文件,以及.git目录。

10 全局和局部配置

  • 全局配置保存在:$Home/.gitconfig
  • 本地仓库配置保存在:.git/config

11 Git rebase 变基 与 合并记录

假设Git目前只有一个分支master。开发人员的工作流程是

git clone master branch
在自己本地checkout -b local创建一个本地开发分支
在本地的开发分支上开发和测试
阶段性开发完成后(包含功能代码和单元测试),可以准备提交代码
首先切换到master分支,git pull拉取最新的分支状态
然后切回local分支
通过git rebase -i 将本地的多次提交合并为一个,以简化提交历史。本地有多个提交时,如果不进行这一步,在git rebase master时会多次解决冲突(最坏情况下,每一个提交都会相应解决一个冲突)

#### 变基 ####
git checkout master
git pull
git checkout local
git rebase -i HEAD~2     # 合并提交,2表示合并两个记录 ---> 解决冲突  ---> git add . --->  git rebase --continue
git rebase master        # 将master最新的分支同步到本地,这个过程可能需要手动解决冲突(如果进行了上一步的话,只用解决一次冲突)
git checkout master      # 然后切换到master分支
git merge local          # 将本地的local分支内容合并到master分支
git push                 # 将master分支的提交上传

#### 合并记录 ####
# 在 rebase 的过程中,也许会出现冲突 conflict ,git 会停止 rebase 并会让你去解决冲突。
# 在解决完冲突后,用 git add 命令去更新这些内容。
# 注意,你无需执行 git-commit,只要执行 continue
git rebase -i HEAD~2   # 合并两条记录---->解决代码冲突
git add .              # 添加这两条的合并记录
git rebase --continue  # 提交这两条的合并记录
git push -f origin master  # 强制提交

# 在任何时候,我们都可以用 git rebase --abort 参数来终止 rebase 的行动,并且分支会回到 rebase 开始前的状态。

 

<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、付费专栏及课程。

余额充值