git总结

作者: 哈希君 | 来源:发表于2017-05-12 01:38 被阅读0次

    git总结

    标签(空格分隔): git


    本文是对廖雪峰的git教程的总结


    [TOC]

    创建版本库

    • 创建版本库:git init
    • 把文件添加到仓库:git add <file name>
    • 把本目录所有文件添加到仓库:git add .
    • 提交到本地仓库:git commit -m "提交信息"

    时光机穿梭

    • 掌握仓库的状态:git status
    • 查看文件修改状况:git diff <file name>

    版本回退

    • 查看提交log记录:git log
    • log记录简化输出:git log --pretty=oneline
    • 版本重置为上一次提交时状态:git reset --hard HEAD
    • 版本重置为上上一次提交时状态:git reset --hard HEAD^
    • 版本重置为某一次提交时状态:git reset --hard <提交id>
    • 查询所有提交命令:git reflog

    撤销修改

    • 放弃对工作区的修改:git checkout -- <file name>
    • 撤销对暂缓区的修改:git reset HEAD <file name>
    • 查询所有提交命令:git reflog

    时光机穿梭

    添加远程仓库

    • 本地仓库与远程仓库关联:git remote add origin <仓库地址>
    • 第一次推送:git push -u origin master
    • 以后的推送:git push origin master

    从远程库克隆

    • 本地仓库与远程仓库关联:git clone <仓库地址>

    分支管理

    创建与合并分支

    • 创建dev分支:git branch dev
    • 切换到dev分支:git checkout dev
    • 创建并切换到dev分支:git checkout -b dev
    • 查看所有分支:git branch
    • 把dev分支合并到当前分支:git merge dev
    • 删除dev分支:git branch -d dev

    解决冲突

    • 查看分支的合并情况:git log --graph --pretty=oneline --abbrev-commit

    分支管理策略

    • 禁用快速合并模式:git merge --no-ff -m "merge with no-ff" dev

    Bug分支

    • 储存工作现场:git stash
    • 回复工作现场:git stash apply stash@{0}
    • 删除stash内容:git stash drop
    • 回复并删除上一次stash:git stash pop
    • 查看stash列表:git stash list

    Feature分支

    • 强行删除分支:git branch -D <feature-vulcan>

    多人协作

    • 查看远程库信息,使用git remote -v
    • 本地新建的分支如果不推送到远程,对其他人就是不可见的;
    • 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
    • 如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
    • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
    • 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

    标签管理

    创建标签

    • 给当前分支打一个新标签:git tag <tag name>
    • 给某一次提交打一个标签:git tag <tag name> <提交的id>
    • 查看所有标签:git tag
    • 查看标签信息:git show <tag name>
    • 打标签时带上说明信息:git tag -a v0.1 -m "version 0.1 released" <提交的id>

    操作标签

    • 删除标签:git tag -d v0.1
    • 推送标签到远程:git push origin v1.0
    • 推送所有本地标签:git push origin --tags
    • 删除远程标签:git push origin :refs/tags/v0.9

    使用GitHub

    • 在GitHub上,可以任意Fork开源仓库;
    • 自己拥有Fork后的仓库的读写权限;
    • 可以推送pull request给官方仓库来贡献代码。

    自定义Git

    • 让Git显示颜色:git config --global color.ui true

    配置别名

    • 用co表示checkout:git config --global alias.co checkout
    • lg缩写:git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

    参考资料

    廖雪峰的git教程

    相关文章

      网友评论

          本文标题:git总结

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