Git

创建版本库-->repository-->一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

创建一个版本库:mkdir 名称

把目录变成Git可以管理的仓库:git init

把文件添加到仓库:git add 文件名

把文件提交到仓库:git commit -m 提交说明

为什么Git添加文件需要add,commit两步呢?因为commit可以一次提交很多文件,所以可以多次add不同的文件

git status:时刻掌握仓库当前的状态

git diff:查看修改的内容

版本回退-->

git log:查看日志,显示从最近到最远的提交日志

在git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上个版本就是HEAD^^

git reset:回退到上一个版本  git reset --hard HEAD^    git reset --hard 版本号

git reflog:查看命令历史

工作区和暂存区-->

git add把文件修改添加到暂存区;

git commit把暂存区的所有内容提交到当前分支

管理修改-->

git diff HEAD -- 文件名  查看工作区和版本库里面最新版本的区别

撤销修改-->

git checkout -- 文件名  把文件在工作区的修改全部撤销

git reset HEAD 文件名  把暂存区的修改撤销掉,重新放回工作区

删除文件-->

git rm  从版本库删除文件

分支管理

创建与合并分支-->

每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支

HEAD指向当前分支

创建分支并切换到分支:git checkout -b

git branch 名称:创建分支

git checkout 名称:切换分支

git branch:查看当前分支,列出所有分支

切换回master分支:把dev分支上的修改合并到master分支上  git merge dev

git merge 名称:合并指定分支到当前分支

合并的Fast-forward模式:直接把master指向dev的当前分支

git branch -d 名称:删除分支

git switch -c 名称:创建并切换分支

git switch 名称:切换分支

解决冲突-->

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容

git log:查看分支的合并情况

分支管理策略-->

Fast forward模式下,删除分支后,会丢掉分支信息

如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,就可以在分支历史上看出分支信息

git merge --no-ff -m 信息 名称

Bug分支-->

git stash:保存当前工作现场

git stash list:查看保存的工作现场

恢复:git stash apply,恢复后,stash内容并不删除,需要用git stash drop来删除

   git stash pop,恢复的同时把stash内容也删了

   git stash apply stash@{},恢复指定的stash

复制一个特定的提交到当前分支:git cherry--pick 名称

原文地址:https://www.cnblogs.com/liushoudong/p/12764853.html