• git学习笔记


     一、git回滚代码

    1、本地代码没有提交到暂存区
    git checkout -- file
    2、本地代码已经提交到暂存区
    git reset HEAD file //把文件从暂存区撤回到工作区
    git checkout -- file //再把工作区文件回滚
    3、已经commit到版本库的代码
    git reset --hard HEAD^ //回滚到上一个版本就是HEAD^,上上一个版本就是HEAD^^
    git reset --hard HEAD~100 //回滚到之前100个版本
    git reset --hard 版本号 //回滚到某个版本号

    二、创建分支

    1、概念
    master指向提交
    HEAD指向的就是当前分支
    2、创建分支dev,并切换到dev分支
    git checkout -b dev
    --- git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
    git branch dev //创建分支
    git checkout dev //切换分支
    git checkout -b branch-name origin/branch-name //创建分支和远程关联,这样pull的时候不用指定分支信息(用于多人协作,他人创建的分支)
    3、查看当前分支
    git branch
    4、合并分支
    git checkout master //切换分支
    git merge dev //合并分支
    5、删除分支
    git branch -d dev
    git branch -D dev //强行删除
    6、Fast forward模式
    在没有冲突情况下使用git merge dev会触发Fast forward模式,它会自动合并并提交,合并后看不出来曾经做过合并
    git merge --no-ff -m "merge with no-ff" dev // --no-ff会禁用Fast forward模式
    7、创建本地分支和远程分支的链接关系
    git branch --set-upstream branch-name origin/branch-name

    三、常规命令

    1、查看日志
    git log --graph --pretty=oneline --abbrev-commit
    2、分支工作区“存储”
    git stash
    git stash list
    git stash pop //恢复tash内容并删除
    git stash apply //恢复stash内容,但是不删除
    git stash drop
    3、远程命令
    git remote -v //查看远程信息
    4、标签
    git tag v1.0 //创建标签
    git tag v0.9 6224937 // 创建某个ci的标签
    git tag -a v0.1 -m "version 0.1 released" 3628164 //创建有说明文字的标签
    git tag //查看所有标签
    git show v0.9 //查看标签信息
    git tag -d v0.1 //删除标签
    git push origin <tagname> //创建的标签都只存储在本地,不会自动推送到远程,推送标签到远程
    git push origin --tags //一次性推送全部尚未推送到远程的本地标签
    删除远程的标签
    (1)git tag -d v0.9 //先删除本地
    (2)git push origin :refs/tags/v0.9 //删除远程

    5、拉取代码pull fetch

    git pull 相当于 git fetch + merge

    四、相关配置

    1、忽略git目录要提交的文件有两种情况
    (1)忽略没有在远程仓库上的文件

    在开发目录下创建.gitignore文件,相关配置可参考https://github.com/github/gitignore

    (2)已经在远程仓库,需要忽略本地的

    git update-index --assume-unchanged 文件名

    取消:git update-index --no-assume-unchanged 文件名

    2、配置别名
    git config --global alias.st status
    git config --global alias.co checkout
    git config --global alias.ci commit
    git config --global alias.br branch
    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"

  • 相关阅读:
    Java网络编程注意事项3
    存储在图的形式——邻接矩阵(排列)
    C++ Primer 学习笔记_35_STL实践与分析(9)--map种类(在)
    [Django1.6]south于django1.6使用
    《Javascript权威指南》13号学习笔记:使用日期和时间
    POJ 1699 Best Sequence (DFS+预处理)
    第五蓝桥杯 蚂蚁冷
    Mac OS X 在捕捉AppLAN通信包
    面向对象、内存模型、动态绑定
    链接器与分离编译
  • 原文地址:https://www.cnblogs.com/hifelix/p/5978206.html
Copyright © 2020-2023  润新知