git简介
Git是目前世界上最先进的分布式版本控制系统(没有之一)。创建版本库
版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。git init命令把这个目录变成Git可以管理的仓库
把一个文件放到Git仓库只需要两步
git add告诉Git,把文件添加到仓库
git commit告诉Git,把文件提交到仓库:git commit -m “wrote a readme file”
历史记录
git log命令显示从最近到最远的提交日志版本回退
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
git reset命令:git reset --hard HEAD^
记录每一次命令
git reflog查看状态
git status撤销修改
git checkout -- file回到最近一次git commit或git add时的状态删除文件
git rm用于删除一个文件添加远程仓库
git remote add origin
git push -u origin master命令,实际上是把当前分支master推送到远程。
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改
从远程仓库克隆
git clone创建与合并分支
创建分支git checkout -b dev
git checkout命令加上-b参数表示创建并切换
git branch命令查看当前分支
git branch命令会列出所有分支,当前分支前面会标一个*号。
git checkout master,切换回master分支
git merge dev,把dev分支的工作成果合并到master分支上,git merge命令用于合并指定分支到当前分支
删除分支:git branch -d
解决冲突
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
手动解决冲突
git log --graph命令可以看到分支合并图
分支管理策略
git merge --no-ff -m “merge with no-ff” dev
合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。