git笔记

作者: BoomLee | 来源:发表于2017-06-12 18:07 被阅读8次

配置

  • 查看配置信息:git config --list
  • 直接查看某个环境变量的设定:git config user.name git config user.email
  • 查看git版本:git --version
  • 安装git: sudo apt-get install git
  • 配置名字:git config --global user.name "Your Name"
  • 配置邮箱:git config --global user.email "email@example.com"

克隆、提交代码

  • git clone git@gitmobile.blued.cn:blued_mobile/git_test.git :从远程仓库克隆
  • git clone <repo> <directory> :克隆到指定的目录
  • git status :查看仓库当前的状态
  • git status -s :获得简短的结果输出
  • git pull --rebase :更新代码,rebase参数可以保证你即使进行了commit操作也不会额外生成一次快照
  • git diff :尚未缓存的改动
  • git diff --cached :查看已缓存的改动
  • git diff HEAD :查看已缓存的与未缓存的所有改动
  • git diff --stat :显示摘要而非整个 diff
  • git add readme.txt :添加文件修改到暂存区
  • git add * :添加多个文件修改到暂存区
  • git reset HEAD <file> :暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响
  • git rm --cached <file> :直接从暂存区删除文件,工作区则不做出改变
  • git checkout . git checkout -- <file>... :用暂存区全部或指定的文件替换工作区的文件
  • git checkout HEAD . git checkout HEAD <file> :用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件
  • git commit -m "提交日志" :将缓存区内容添加到仓库中
  • git commit -a :如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步。例如:git commit -am '修改 hello.php 文件'
  • git push origin master/develop/feature :将代码提交到远程分支
  • git reset --hard HEAD~1:恢复到之前的commit,1代表数量
  • git reset --hard commitID:恢复到指定的commitID,这个命令比较危险,会把这条commitID之后的全部覆盖
  • git push --force:恢复到某个commitID重新提交到远端
  • 使用sourceTree可以撤销任何指定的提交记录,同样需要再提交一次。
  • git reset --hard e71ea349648eab13afa015f5cce5e7d0096625b4 :回退到指定版本
  • git stash / git stash pop:保存当前本地的修改,无需提交到缓存区
  • git cherry-pick c492aa9: 提交摸个节点到当前分支

branch

  • git branch :查看当前分支。
  • git branch -r :查看远程所有的分支。
  • git branch -a :查看本地和远程所有的分支。
  • git branch xx :创建分支
  • git branch -d xx :删除分支
  • git branch -D xx :强制删除分支
  • git checkoup xx :切换到分支
  • git checkout -b xx :创建并切换到当前分支
  • git merge b1 :合并分支b1到当前分支,需要b1在本地已拉取
  • vim 冲突文件 :当merge冲突时,需要手动解决冲突
  • git add 解决冲突后的文件 :解决完毕后需要再次添加
  • git cherry-pick 5b531cb8c62cdb8b5f10c406e41824a6388e3a82 6b531cb8c62cdb8b5f10c406e41824a6388e3a82:从另外一个分支里面挑选一些commit到当前分支

提交历史

  • git log :回顾下提交历史
  • git log 分支名/tag名/远程分支名 :指定log
  • git log --oneline :查看历史记录的简洁的版本
  • git log --graph :查看历史中什么时候出现了分支、合并
  • git log --reverse --oneline :逆向显示所有日志
  • git log --author :查找指定用户的提交日志,例如:git log --author=Linus --oneline -5
  • --since--before :指定日期,例如git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
  • --no-merges :隐藏合并提交
  • git reflog :查看每一次命令

标签

  • git tag -a v1.0 :创建一个带注解的标签
  • git tag -d v1.1 :删除标签
  • git tag -a v0.9 85fc7e7 :追加标签
  • git tag :查看所有标签
  • git show v1.0 :查看此版本所修改的内容
  • git checkout v1.0:切换到某个tag节点。-f强制切换
  • git push origin --tags: 将标签推送到origin分支
  • git push origin --delete tag <tagname>删除远程tag
  • 可以基于某个tag拉取分支进行代码提交

协作

  • 查看可以抓取和推送的远程地址:git remote -v

子模块

  • git submodule init:初始化
  • git submodule update:更新

示意图

  • 一个团队,理想情况下的分支是这样的: 团队协作

上一篇:UISearchBar常用属性
下一篇:iOS图片滤镜

相关文章

网友评论

      本文标题:git笔记

      本文链接:https://www.haomeiwen.com/subject/qxclqxtx.html