Git usage
高频命令
git status:查看当前改了哪些文件,最常用git log --oneline --graph --decorate:简洁查看提交历史git diff:看还没add的改动git diff --cached:看已经add但还没commit的改动git branch:查看本地分支git clone <仓库地址>:把远程仓库拉到本地git add <文件>:把文件加入暂存区git add .:把当前目录下修改过的文件都加入暂存区git commit -m "说明":提交一次修改git switch <分支名>:切换分支git switch -c <新分支名>:创建并切换到新分支git pull:拉取远程最新代码git push:把本地提交推到远程git fetch:只获取远程更新,不自动合并
切换分支
- 基于当前分支新建并切换:
1
git switch -c feature/user-login
- 老写法:
1
git checkout -b feature/user-login
- 推送到远程并建立追踪:
1
git push -u origin feature/user-login
合并分支
- 先切到目标分支:
1
git switch develop
- 合并功能分支:
1
git merge feature/user-login
解决冲突
冲突后常见流程:
1 | git status |
手动编辑冲突文件,删掉这些标记:
1 | <<<<<<< |
然后:
1 | git add . |
撤销提交
先在当前节点new branch ;再切换到master分支进行git reset
HEAD:当前提交位置暂存区:git add之后、commit之前的区域工作区:你正在编辑的文件
1. --soft
只移动 HEAD,不动暂存区和工作区(重新写提交说明)
删除-m “说明”
例子:
1 | git commit -m "wip" |
发现提交说明太随便,想改成正式一点:
1 | git reset --soft HEAD~1 |
2. --mixed
移动 HEAD,并重置暂存区,但不动工作区(重新选择add文件)
删除-m “说明”, add上去的文件
默认就是 --mixed。
例子:
1 | git reset HEAD~1 |
这时你会看到:
- 改动还在
- 但变成未暂存状态了
然后你可以重新选择:
1 | git add file1 |
3. --hard
HEAD、暂存区、工作区一起重置
删除-m “说明”, add上去的文件, 本地的改动
例子:
1 | git reset --hard HEAD~1 |
回滚某次提交
- 安全回滚某次提交:比如:
1
git revert 提交ID
这会新生成一次“反向提交”,适合线上/团队协作。1
git revert a1b2c3d
查看是谁改了某一行
1 | git blame src/login.js |
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Comments


