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