返回首页

知识点

文件状态


知识点

整体架构逻辑


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