待补充 git reset git rebase fast-forwards相关
bash命令
- cd 改变目录
- cd .. 进入上一级目录
- cd ~ 进入根目录
- tab 自动补全
- 两次tag 把所有符合要求的选项都列出来
- pwd打印当前路径
- ls 展示当前目录列表(不包含隐藏文件)
- ls -a 展示当前目录列表(包括隐藏文件)
- ls -l 以列表形式展示内容
- ls -al 以列表形式展示当前目录所有内容(包括隐藏文件)
- ls -al [目录] 展示某个目录下所有内容
===
- clear 清屏,内容都还在,滑动列表就能出来
- reset 重置,历史记录没了
===
- mkdir [文件夹名] 创建一个文件夹
- rmdir [文件夹名] 删除一个空的文件夹
===
- touch xxx 创建文件
- rm xxx 删除一个文件或者文件夹
===
- mv [文件名/文件夹名] [文件夹] 将文件或者文件夹移动到某个文件夹中
- cp [file] [file2] 复制文件
===
- cat xxx 查看文件(不能是文件夹)所有内容
- less xxx 查看文件部分内容
- q 退出查看
文件操作
- Untracked files 文件刚创建时还没有被版本追踪
- git add [file] 将某个未被追踪的文件添加到版本追踪中 / 或者修改的文件提交到暂存区
- git add . 将所有未被追踪的文件添加到版本追踪中 / 或者修改的文件提交到暂存区
===
- git commit -m "日志" 将暂存区的文件提交到本地仓库中
- git push 推送当前分支到云端
- git push branch1 本地分支branch1送到云端
- git push origin feature:dev 本地feature分支 推送到云端 dev分支
- git push --force 强制推送,覆盖远程分支
分支 branch
- git branch :列出本地所有分支
- git branch -r :列出所有远程分支
- git branch -a :列出所有本地 + 远程 分支
===
- git branch [branch] :创建一个分支,但仍然停留在当前分支
- git branch [branch] [commit] :从某个commit创建一个分支
- git checkout [branch] : 切换分支
- git checkout -b [branch] :创建一个分支,并切换到新的分支
- git checkout -b [branch] [tag] :基于某个tag创建一个分支,并切换到新的分支
- git checkout -b [branch] [commit] :基于某个commit创建一个分支,并切换到新的分支
===
- git branch -d [branch] : 删除本地分支
- git push origin --delete [branch] : 删除远程分支
- git branch -dr [remote/branch] : 删除远程分支
===
- git branch --track [local-branch] [remote-branch] :创建一个本地分支,和指定的远程分支建立追踪关系
===
- git merge [branch] : 合并指定分支到当前分支
===
- git cherry-pick [commit] :选择一个commit合并到当前分支
标签 tag
- git tag 列出所有tag
- git tag [tag] 在当前commit新建一个tag
- git tag [tag] [commit] 在指定的commit处新建一个tag
- git tag -d [tag] 删除本地tag
- git push origin :refs/tags/[tagName] 删除远程tag
- git show [tag] 查看tag信息
- git push [remote] [tag] 提交指定tag
- git push [remote] --tags 提交所有tag
查看信息
- git status 查看有变更的文件
- git log 查看当前分支的版本历史
- git log -2 查看最近两条commit信息
- git log --stat 查看commit历史,以及每次commit发生变更的文件
- git log --oneline 查看当前版本的历史【简单信息】
- git shortlog -sn 显示所有提交过的用户,按照提交次数排序
- git blame [file] 显示某个文件的改动历史
- git blame -L 10,20 [file] 查看文件中第10-20行的代码改动历史
- git blame -l [file] 显示每次改动的40位哈希
- git blame 分支名/commit [file] 显示某次commit中文件的改动
- git diff 显示暂存区和工作区的差别
- git diff [file] 显示暂存区和工作区某个文件的差别
- git diff --cached 显示暂存区和上一次commit的差异
- git diff --cached [file] 查看某个文件暂存区和上一次commit的差异
- git diff commit1 commit2 查看两次commit的差异,commit2相比commit1的改动
- git diff main branch1 比较两个分支之间的差异
- git diff --shortstat "@{0 days ago}" 显示当前用户今天写了多少代码
===
- git show [commit] 显示某次commit的内容
- git show [commit]:[file] 显示某次commit某个文件的内容
- git reflog 显示当前分支最近几次提交