返回首页
知识点
文件状态
知识点
整体架构逻辑
GitBash高速
获取远程库命令
git clone [address]
获取成功后 会有git隐藏文件夹
GitBash高速
从工作区把所有代码加到暂存区
git add .(添加全部文件) git add (添加单独文件)
修改文件后,再添加到暂存区
GitBash高速
从暂存区把代码提交到本地仓库
git commit -m 'commit msg'
如果msg中有需要换行的信息,可以灵活使用引号,类似这样
git commit -m " 这是第一行信息
这是第二行信息 "
也可以由工作区直接提交到本地仓库,使用git commit -m 'msg' -a
GitBash高速
从本地仓库把代码提交到远程库
git push
第一次提交时如果没有输入用户名和邮箱,是需要输入的
GitBash高速
如本地仓库直接覆盖远程仓库
git push -f 如果本地版本落后于remote 一般push不了 但使用-f参数可以强行覆盖远端版本
GitBash高速
查看本地工作区状态
git status
提交到本地后查看状态时,会提示领先远端代码一个提交
GitBash高速
查看本地仓库已提交但未push的代码
git cherry -v
GitBash高速
合并本地仓库分支版本
git merge [branchname]
GitBash高速
回退工作区代码为原始状态
git checkout --[filenam]
GitBash高速
比较工作区和暂存区代码差异
git diff
GitBash高速
比较暂存区和本地仓库代码差异
git diff --staged
GitBash高速
创建本地分支并停留在当前分支
git branch [branchname]
GitBash高速
创建本地分支并切换到创建分支
git checkout -b [branchname][template]
GitBash高速
删除远端分支
git push origin --delete [branchname]
GitBash高速
切换本地分支/本地分支没有则直接拉取远端分支
git checkout [branchname]
GitBash高速
删除本地分支(首先要切换到其他分支)
git branch -d [branchname]
GitBash高速
查看本地所有分支/远程所有分支/本地远程所有分支
git branch/git branch -r/git branch -a
GitBash高速
查看本地分支和远程分支对应关系,远程分支可映射到本地为多个不同名称
git branch -vv
GitBash高速
本地有分支,远端无分支,push操作
git push -u origin [branchname]
GitBash高速
git log使用的几种方式
GitBash高速
查看画线的log日志命令
git log --oneline --decorate --graph --all
GitBash高速
查看远程仓库地址
git remote -v
GitBash高速
从本地仓库回退到上一版本(默认mixed 直接回退到工作区,暂存区没有)
git reset head^
GitBash高速
从本地仓库回退到上一版本(回退到暂存区,工作区)
git reset head^ --soft
GitBash高速
reset 指定回退到的版本
git reset commitId
GitBash高速
reset 暂存区回退到工作区
git reset head
GitBash高速
reset 工作区回退到未修改状态
git reset head --hard
GitBash高速
restore 暂存区回退到工作区(都是针对文件修改)
git restore --staged [filename]
GitBash高速
reset 工作区回退到未修改状态(都是针对文件修改)
git reset [filename]
GitBash高速
revert 撤销某次提交commitId/head
撤销某一次提交的版本 如提交了 1,2,3 想撤销2 恢复为1,3 会产生新的提交
git revert head^
GitBash高速
rm 撤销某文件的版本关联
git rm --cached [filename]
GitBash高速
保存当前未提交的代码到git缓存,并回退到某一历史版本
场景分析:有三次提交1,2,3当前线上是版本3,但发现版本3有错误,版本2为正确的
但本地又有修改未提交,想把当前修改保存起来并回退到版本2.
git stash [save msg]
git stash list
GitBash高速
取出stash中的数据(可多次)
git stash apply
GitBash高速
界面处于非编辑状态时如何退出
:q 回车或q
GitBash高速
创建Ignore忽略部分文件提交,若已经纳入版本库,则需要取消文件关联
GitBash高速
获取远程库信息
git fetch
GitBash高速
直接拉取远程库信息到本地库(相当于fetch+merge)
git pull
GitBash高速
本地创建仓库(会有隐藏的.git文件夹)
git init
GitBash高速
获取命令帮助信息
git restore -help 在终端内查看
git restore --help 直接弹出网页
GitBash高速
设置全局用户名
git config --global user.name 'user'
GitBash高速
设置全局邮箱
git config --global user.email 'user@email.com'
GitBash高速
查看本地全局配置(一般为用户名和邮件)
git config --global -l
GitBash高速
对有分支的先合并其他分支到本次提交前
git rebase [branchname]
git rebase --continue [直到合并完成]
GitBash高速
查看所有操作日志
git reflog
知识点
可以给命令起别名
[alias]
ad= add .
cmm=commit -m
lg=log
co=checkout
cob=checkout -b