• Git学习笔记 2,GitHub常用命令



    廖雪峰Git教程
    莫烦Git教程
    莫烦Git视频教程

    • 文件三个状态,add之后从工作区(原始状态)到暂存区,commit之后从暂存区到版本库
    • 工作区 暂存区 版本库
    • unstage stage master

    • 删除文件
    > git rm test.txt
    > git commit -m "remove test.txt"
    
    • 修改或添加文件
    > git add test.txt
    > git commit -m "add test.txt"
    
    • reset 所有文件 恢复到指定版本
    > git reflog  # 查看所有版本
    > git reset --hard 1094a  # 去到指定版本
    > git reset --hard HEAD^^  # 回退两个版本
    > git reset --hard HEAD~99  # 回退99个版本
    > git reset --hard HEAD{5}  # 回退版本HEAD{5}
    
    • 单个文件 恢复到原始状态 或 恢复到上一次add之后
    > git checkout -- readme.txt  # 文件恢复到上一次add或者commit的状态
    
    • 单个文件 已经add了,恢复到原始状态
    > git reset (HEAD)readme.txt  # HEAD回到原始状态 HEAD可省略
    > git checkout -- readme.txt  # 恢复到修改者删除之前的状态
    
    • checkout 单个文件 恢复到指定版本
    > git checkout 845dc -- readme.txt
    
    • checkout 切换分支
    > git branch  # 查看分支
    > git branch <name>  # 创建分支
    > git checkout <name>  # 切换分支
    
    • merge 合并分支
    > git checkout -b dev # 创建+切换到dev分子,这个时候就可以修改分支的文件了
    > git checkout master  # 将HEAD指向master
    > git merge dev  # 合并分支dev到当前分支(master)
    > git branch -d dev  # 删除分支dev
    
    > git merge --no-ff -m "keep merge info" dev  # 合并dev分支到当前分支,并且可见(git log)合并过程(--no-ff)
    > git log --graph --pretty=oneline --abbrev-commit  # 显示合并过程的日志 
    
    • commit
    > git commit -am "add and commit"  # add和commit 一步到位
    > git commit -m "commit"  # commit
    > git commit --amend --no-edit  # 提交到最新版本,保持原来的提交信息不变
    
    • rebase 基于其他分支修改当前分支
    > git checkout master  # 切换到主分支
    > git rebase dev  # 基于dev 修改当前分支(master)
    
    • stash 临时改其他Bug时,stash当前工作状态
    > git stash # 将修改过的文件放到stash缓存区
    > git stash pop  # 恢复stash前的状态
    
    > git stash list  # 查看缓存的stash状态
    > git stash apply stash@{0}  # 恢复指定stash
    
    • 强行删除已经commit却还没有merge过的分支
    > git branch -D <name> 强行删除
    

    2019年2月22日23:33:18

  • 相关阅读:
    urlEncode
    rsyslog queue队列权威指南
    rsyslog的安装、使用、详解
    长连接及心跳保活原理简介
    python时间日期格式化和反格式化
    无锁编程
    如何快速定位找出SEGV内存错误的程序Bug
    ElasticSearch搜索数据到底有几种方式?
    golang string和[]byte的对比
    PHP中使用Redis长连接笔记
  • 原文地址:https://www.cnblogs.com/yangzhaonan/p/10421252.html
Copyright © 2020-2023  润新知