Git常用命令速查表

2022-08-16  本文已影响0人  白雪乌鸦

master:默认开发分支

Head:默认开发分支

origin:默认远程版本库

Head~:Head的父提交

创建

git clone ssh://user@domain.com/xx.git 克隆远程仓库

git init 初始化本地git仓库(新建仓库)

提交历史记录

git log 显示日志

git show <commit> 显示某个提交的详细内容

git blame <file> 在每一行显示commit号;提交者;最早提交日期

本地更改

git status 查看当前版本状态(是否修改)

git diff 查看所有未添加至index的变更

git diff HEAD 查看已缓存的与未缓存的所有改动

git add <path> 将文件添加至缓存

git commit -m 'xxx' 提交

git commit --amend -m 'xxx' 合并上一次提交(用于反复修改)

git commit -am 'xxx' 将add和commit合为一步

分支机构和标签

git branch 显示本地分支

git checkout <branch> 切换分支

git branch <new-branch> 新建分支

git branch --track <new> <remote> 创建新分支跟踪远程分支

git branch -d <branch> 删除本地分支

git tag <tag-name> 给当前分支打标签

更新和发布

git remote -v 列出远程分支详细信息

git remote show <remote> 显示某个分支信息

git remote add <remote> <url> 添加一个新的远程仓库

git fetch <remote> 获取远程分支,但不更新本地分支,另需merge

git pull <remote> <branch> 获取远程分支,并更新本地分支

git push <remote> <branch> 推送本地更新到远程分支

git push <remote> --delete <branch> 删除一个远程分支

git push --tags 推送本地标签

撤销

git reset --hard HEAD 将当前版本重置为HEAD(用于merge失败)

git reset --hard <commit> 将当前版本重置至某一个提交状态(慎用)

git reset <commit> 将当前版本重置至某一个提交状态,代码不变

git reset --merge <commit> 重置至某一状态,保留版本库中不同文件

git reset --keep <commit> 重置至某一状态,重置变化的文件,代码改变

git checkout HEAD <file> 丢弃本地更改信息并将其存入特定文件

git revert <commit> 撤销提交

合并与衍合

git merge <branch> 合并分支到当前分支,存在两个

git rebase<branch> 合并分支到当前分支,存在一个

git rebase --abort 回到执行rebase之前

git rebase --continue 解决矛盾后继续执行rebase

git mergetool 使用mergetool解决冲突

git add <resolved-file> 使用冲突文件解决冲突

git rm <resolved-file>

帮助

git help <command> 获取命令行上的帮助

当git clone下来的工程有子模块时,子模块下的内容不会自动下载下来,需要先执行git submodule update --init --recursive进行初始化,然后执行git submodule foreach git checkout dev_test(分支名称) 检出需要的分支,这时每个模块检出的都是dev_test分支,也可以在每个模块对应的目录下检出其他需要的分支。

上一篇 下一篇

猜你喜欢

热点阅读