Git指北

常用命令

top1:拉取远程项目

shell 复制代码
git clone -b master url
git clone -b master https://gitee.com/turanran/algorithm-service

top2:拉取远程最新代码

shell 复制代码
git pull 

默认拉取当前分支所跟踪的远程分支的更新。

如果当前dev分支跟踪的是origin/dev,那么它拉取的是 dev 的更新,而非 master 的。

shell 复制代码
git pull origin master

明确指定拉取远程 master 分支,并合并到当前分支。。

top3:推送当前分支至远程分支

shell 复制代码
git push
git push origin master

top4:撤回已提交commit

  1. 仅本地提交,未推送:git reset直接回退提交历史,灵活控制本地文件状态。
    此命令会将分支的HEAD指针移动到指定的提交,从而"丢弃"之后的提交。根据对工作区文件的不同处理方式,分为三种模式:
  • git reset --soft HEAD~1
    效果:仅撤回commit,保留所有已更改的文件,并将其置于暂存区(即已git add的状态)。你可以直接修改后再次提交。
    适用场景:提交后发现漏了文件或需要微调,希望快速重新提交。
  • git reset --mixed HEAD~1 (默认选项)
    效果:撤回commit,并取消所有文件的暂存状态(即撤销git add),但更改内容保留在工作目录中。你需要重新git add文件后再提交。
    适用场景:最常用的撤回方式,重新选择要提交的文件。
  • git reset --hard HEAD~1
    • 效果:彻底撤回commit,并丢弃所有本地未提交的更改,将工作目录完全恢复到上一次提交的状态。
    • ⚠️ 警告:此操作不可逆,会永久丢失自上次提交以来的所有修改,请谨慎使用。
    说明:HEAD~1 表示上一个提交,撤回最近一次commit。如果想撤回最近两次,可使用HEAD~2,以此类推

reset完成后,需要使用git push -f remoteName强制覆盖远程历史,git push remoteName无法正常推送

  1. 已推送到远程仓库:git revert通过新增一个"反操作"提交来撤销,不会重写公共历史,更安全。
    此命令会创建一个新的提交,其内容是指定提交的"反向操作",从而安全地撤销更改,并保留完整的提交历史。
  • 撤回单次提交:

    shell 复制代码
    # 先使用 git log 找到要撤回的commit的完整ID或前几位
    git log
    # 执行撤回,例如commit id是 abc123
    git revert abc123

    执行后,Git会打开编辑器让你填写新提交的信息,保存退出即可生成一个撤销提交。

  • 撤回最近一次提交(快捷方式):

    shell 复制代码
    git revert HEAD
  • 如果已推送到远程仓库:执行 git revert 后,只需要正常地 git push 这个新生成的撤销提交到远程即可

  1. 仅修改提交信息:git commit --amend修改最近一次commit的备注信息,不改变文件内容。
    如果只是写错了commit备注,可以使用 git commit --amend 命令,这会打开编辑器让你修改最近一次提交的信息。

注意事项
git reset会重写提交历史。如果commit已经推送到公共远程仓库 ,切勿使用git reset,否则当你再次推送时,需要使用git push -f强制覆盖远程历史,这可能会回滚其他开发者的commit。

top5:根据commitId查询Git log

shell 复制代码
git show e8431e6caf2b0b59a97cab8daace904e91cdd8dc
相关推荐
炸炸鱼.11 小时前
Git+Jenkins实战(一):从零搭建自动化发布与回滚系统(附完整代码)
git·jenkins
言66614 小时前
要忽略前端依赖包node_modules的文件在目录下 git暂存区消失
git
胡小禾14 小时前
Git Worktree
git
程序员小羊!15 小时前
18 GIt
git
怣疯knight15 小时前
Git 本地分支关联远程分支 常用命令汇总
git
ANNENBERG15 小时前
git分支开发管理
git
坤坤藤椒牛肉面15 小时前
GIT的使用
git
w32963627115 小时前
使用 OpenCode 在 Windows 上加速安装 Playwright 的完整指南
windows·git
我家媳妇儿萌哒哒1 天前
git:无法推送refs到远端。您可以试着运行“拉取”功能,整合您的更改。
git
驯龙高手_追风2 天前
Gitlab本地服务器搭建及配置-详细教程
git·github