总结表格

Git 命令 作用描述
git init 初始化一个新的 Git 仓库
git clone <url> 克隆远程仓库
git status 查看当前仓库状态
git add <file> 添加文件到暂存区
git commit -m "<message>" 提交到本地仓库
git push origin master 推送到远程仓库
git pull 拉取远程仓库并合并
git branch 列出分支或创建新分支
git checkout <branch> 切换到指定分支
git merge <branch> 合并指定分支到当前分支
git log 查看提交历史
git diff 显示更改的差异
git stash 暂存当前更改
git reset 回退到某个提交
git remote -v 管理远程仓库
git remote add/seturl origin 添加远程仓库
git tag <tag> 创建标签
git rm <file> 删除文件
git config 设置 Git 配置
git rebase 变基操作,用于整理提交历史
git cherry-pick <commit> 选择特定提交并应用到当前分支

origin是远程仓库的名字,master是本地默认分支名字,main是远程仓库主分支的默认名字。

Run

git config –global user.email “you@example.com
git config –global user.name “Your Name”

to set your account’s default identity.

当本地和远程的 main 分支都有不同的更改时,Git 会拒绝直接推送,以防止丢失数据。

解决方法:先拉取远程的更改并合并(git pull origin main),解决冲突后再推送(git push origin main)。

可以使用 git pull --rebase 代替常规的 pull,以使提交历史更为整洁。

强制推送(--force:在确定不会丢失其他人的工作时,才考虑使用。

暂存和回退

  • **git stash**:保存工作区的更改,以便之后恢复,不会对版本库造成影响。非常适合需要快速切换分支的场景。

    1
    2
    git stash        # 保存当前未提交的更改
    git stash pop # 恢复上次 stash 的内容
  • **git reset**:回退到某个提交,可以用于取消提交、回到之前的状态。

    1
    2
    3
    git reset --soft HEAD~1    # 保留修改的内容,只回退 commit,到上一个提交,更改回到add状态
    git reset --hard HEAD~1 # 丢弃所有更改,彻底回退到上一个提交
    git reset --mixed HEAD~1 #提交记录和暂存区会被回退,但所有修改仍然在工作目录中。