Skip to content

Git

源代码管理、版本控制、方便多人协同开发

工作区=>暂存区=>本地仓库=>远程服务器

# 从远程分支创建本地分支:
git checkout -b <本地分支名> origin/<远程分支名>(用于开发远程已存在的分支)
# 暂存工作区(临时切换分支):若当前修改未完成需切换分支,可先用 git stash 暂存工作区,切换回来后用 git stash pop 恢复。

git stash  # 暂存工作区
git stash pop  # 恢复

配置相关

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

基础命令

# 查看工作区与暂存区的差异
git status

# 暂存当前目录所有修改
git add . <文件名>

# 撤销暂存
git reset . <文件名>

# 查看工作区与暂存区的差异
git diff <文件名>

# 提交到本地仓库
git commit -m "提交说明"

# 修改最后一次提交
git commit --amend "可修改说明或补充暂存文件"

# 撤销提交但保留修改 
git reset --soft HEAD~1  # 提交记录消失,修改保留在暂存区。

# 彻底删除提交及修改 
git reset --hard HEAD~1  # 危险!永久删除未提交的修改。

# 查看提交历史
git log

分支命令

# 查看所有(本地 + 远程)分支
git branch -a

# 创建新分支
git branch <分支名>
git branch dev

# 切换到新分支
git switch <分支名>
git switch dev

# 或者一步完成创建并切换分支
git checkout -b login

# 本地新建分支第一次推远程
git push --set-upstream origin models_django

远程服务器

# 

冲突处理与版本回退

  1. 冲突处理

当多人修改同一文件并推送时,可能出现冲突。解决步骤:

  • 先拉取远程代码:git pull(此时会提示冲突文件)
  • 打开冲突文件,查找 <<<<<<< HEAD(本地修改)、=======(分隔线)、>>>>>>> origin/main(远程修改)标记的区域
  • 手动编辑保留正确内容,删除冲突标记
  • 重新暂存并提交:git add <冲突文件> + git commit -m "解决冲突"
  • 推送解决后的代码:git push

  • 版本回退

若提交后发现错误,需回退到之前的版本:

  • 回退到指定版本(保留修改):git reset --soft <提交哈希值>(哈希值可通过 git log 获取)
  • 回退并丢弃工作区修改:git reset --hard <提交哈希值>(谨慎使用,会删除未提交的修改)
  • 若已推送到远程,需强制推送回退:git push -f origin <分支名>(多人协作时慎用,可能覆盖他人提交)