时间:2025-08-29 15:01
人气:
作者:admin

创建本地仓库
git init克隆远程仓库
git clone <远程仓库地址> <目录> 省略目录,默认克隆在当前路径设置提交代码时的用户信息
git config --global user.name "xxxx"
git config --global user.email xxx@example.com
查看所有配置
git config --list暂存
git add .提交
git commit -m '提示信息'修改最近一次提交
git commit --amend
git commit --amend --no-edit
使用 --amend后,Git 会生成一个新的 commit hash,相当于“覆盖”了上一次提交。如果这个提交已经推送到远程仓库,那么你需要使用 git push --force或 git push --force-with-lease来更新远程
查看分支
git branch 查看分支(列出本地仓库所有分支)git branch -r 列出远程仓库所有分支git branch -a 列出所有分支 本地+远程git barnch -v 查看每个分支的最新提交git branch -vv 查看当前分支跟踪的远程分支,git push默认将代码推送到该分支创建和切换分支
git branch 新分支名 创建新分支git checkout 分支名 切换分支git checkout -b 新分支名 创建并切换到新分支创建新分支时,新分支保存了当前分支的历史提交
工作区和暂存区是共享的,当前未提交的工作区内容(未暂存、已暂存未提交)会在切换到其他分支时保持,一旦提交,则切换到其他分支时就只显示该分支最后一次提交的状态
删除分支
git branch -d 分支名 安全删除已合并的分支,检查分支是否合并git branch -D 分支名 强制删除未合并的分支重命名分支
git branch -m 新分支名 重命名当前分支名git branch -m 旧分支名 新分支名 重命名已有的分支名合并分支
git merge 分支名 -m '提示信息' 将一条分支合并到当前分支,并且添加此次合并的提交信息。合并分支文件发生变化时算作一次提交,若合并分支并未发生变化,则不会产生提交。git branch --merged 查看已合并到当前分支的分支列表git branch --no-merged 查看未合并到当前分支的分支列表储藏当前修改
git stash 将所有未提交的更改保存到一个新的储藏堆栈中,并将你的工作区恢复到最后一次提交的状态(干净的状态)。git stash push -m "提示信息" 带提示信息储藏当前修改恢复当前储藏
git stash pop 恢复并删除最新储藏git stash apply 恢复但不删除储藏git stash branch 新分支名 为储藏的更改创建一个新分支查看储藏
git stash list 列出所有储藏查看完整提交日志
git log提高可视化
git log --oneline --graph临时切换到历史版本
git checkout 提交哈希值永久回退到历史版本
git reset 提交哈希值
--soft (软回退) :
--mixed (混合回退,默认模式) :
--hard (硬回退) :
查看变更历史
git reflog
HEAD@{x}的形式唯一表明每一次变更记录,其中x表示一个数字撤回至历史变更
git reset --soft HEAD@{x}
HEAD@{x}是通过git reflog查询到的变更记录HEAD@{x}不同于HEAD~x,HEAD@{x}表示变更记录,HEAD~x只表示提交记录。变更包括commit、commit(amend)、checkout、reset等。撤回最近一次本地提交,但保留修改内容
git reset --soft HEAD~1
撤销提交并取消暂存修改,但保留文件改动
git reset HEAD~1
# 或简写(默认 --mixed)
彻底丢弃最近一次提交和所有修改
git reset --hard HEAD~1