By烟花易冷

Git 初学者笔记
2018-10-06

今天一朋友向我提及 Github 的事情,偶然想起在我的有道云笔记账户中,曾写过一篇 Git 方面的文章,是为当初成功通过学校某工作室的考核而写下的笔记。转眼之间,一年半前过去了,我也成为了一个做信息系统以及各种常见外包的“老油条”,不如将其发来我这早已经长草的博客里吧,以后还能方便使用。

Git 学习笔记

DATE: 20170424

分布式

  • 无需联网
  • 完整的版本库

版本管理

image
– git status 当前状态
– git diff file 查看区别
– git log 查看历史记录详细
– git log –pretty=oneline 查看历史记录简洁
– git reset –hard HEAD^ 回滚上一个版本
– git reflog 查看执行过的操作
– git checkout — file 丢弃工作区的修改(暂存区/版本库回来)
– git reset HEAD file 暂存区回到工作区
– git rm file 删除文件(没啥用)

git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。

远程仓库

  • git remote add origin git@**** 添加远程仓库
  • git push -u origin master 将本地 master 与 远程 master 相关联并推送
  • git clone git@**** 克隆远程仓库

分支管理

  • git checkout -b branch 创建分支
  • git branch 查看当前分支
  • git checkout branch 切换分支

git checkout 命令加上-b参数表示创建并切换,相当于以下两条命令:git branch && git checkout

  • git merge branch 合并分支到当前分支
  • git merge –no-ff -m commit_message branch 禁用 Fast forward 合并(保留之前分支数据)
  • git branch -d branch 删除分支
  • git branch -D branch 强制删除分支
  • git push origin –delete branch 删除远程分支

Bug分支主要流程:用于在其他分支工作时紧急修复 master 分支的bug

  • git stash 储存工作现场
  • git checkout master 回到主分支
  • git checkout -b issue-101 建立 Bug分支
  • git checkout master 完成修复后回到主分支
  • git merge –no-ff -m “merged bug fix 101” issue-101 禁用 Fast forward 合并
  • git branch -d issue-101 删除 Bug分支
  • git stash list 查看工作现场
  • git stash apply 恢复工作现场
  • git stash drop 删除工作现场
  • git stash pop 恢复工作现场并删除