【git命令】
在线练习网站:https://learngitbranching.js.org/
在git工程下:
- 查看git树形图
git log –graph - 查看当前branch 和更改的文件
git status
commit
-
添加所有的修改文件至index
git add .
git ls-files # 列出git index包含的文件
git rm xxx # 删除index中的xxx文件 -
取消添加的文件
git reset . 或者 git reset 文件名 -
提交到本地仓库
git commit -m "your "
git commit -m 'xxx' # 提交
git commit --amend -m 'xxx' # 合并上一次提交(用于反复修改)
git commit -am 'xxx' # 将add和commit合为一步
- 合并多个commit
git rebase -i
git rebase -i master~4 只操作master分支的最近4次commit
修改关键字说明:
pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)
a编辑 esc 退出编辑 :wq保存编辑
git commit --amend 将改动合并到上一个commit
拉取 Pull
拉取当前分支最新代码
git pull
拉取最近代码 并将commit节点移到最新
git pull -r
拉取指定分支代码
git pull origin master rebase
- 取消本地commit
git reset HEAD~2 回退向前两个版本的commit记录(删除最新的两次commit记录)
git reset --mixed commit_id 取消add和commit操作 不改变代码。
git reset --soft commit_id 取消commit操作 不撤销add,不改变代码。
git reset --hard commit_id 去向commit并将代码还原到之前版本 - 撤销远程分支提交记录
git revert <id> 撤销某个提交记录
git push 推送到远程分支
分支
- 查看远程所有分支
git branch -r - 查看本地仓库所有分支
git branch - 查看本地和远程所有分支
git branch -a - 创建分支
git branch <branchName> - 切换到某分支
git checkout <branchName> - 创建并切换到当前分支
git checkout -b <your-branch-name> 相当于上两步 - 从远程分支检出并关联
git checkout -b <本地分支名> <origin/远程分支名> - 把当前分支强制指向某提交节点
git branch -f <当前分支名> <commitId>
例子:git branch -f master 63c7a35
git checkout -fB <当前分支名> <commitId>
git checkout -fB master 63c7a35 - 把当前分支所有节点平移到另一个分支某个节点
git rebase <要平移的分支节点的commitId> - 查看本地分支与远程分支的版本对比
git branch -vv - 查看本地和远程的所有分支
git branch -a - 删除本地分支
git branch -d <BranchName> - 删除远程分支
git push origin --delete <BranchName> - 当前分支与远程某分支做关联
git branch -u orgin/master
Merge合并代码
- 把branchA 合并到master里
git checkout master 先切换到master分支
git merge branchA 把branchA合并过来
Cherry-pick
- 有点类似于rebase 可以选中某几个提交记录
例子:其他分支有ABCD4个提交记录,要取D和B两个提交merge到master上(ABCD指的是commitId):
git checkout master 切换到master分支
git cherry-pick D B 将D和Bmerge到mater中
Tag标签
- 给某个分支打标签
git tag <TAG content> <commitId>
Stash
存:git stash 将当前代码的改保存起来 生成一个id
git stash list 查看保存列表
取:git stash pop 将最新的保存记录恢复到工作区
git stash pop stash@{id} 指定恢复某个记录
【commit前要做的事情】
-
代码风格检验
mint stylecheck -
单元测试
mint precommit
网友评论