• git学习笔记


    git学习
      概念
        git跟踪的修改而非文件
        工作区:可见的目录文件夹
        版本库:
        工作区的一个隐藏目录:.git
        stage 暂存区 git add就是添加到暂存区
        新建的文件状态为untracked 是因为没有 add到暂存区,
        commit 会将暂存区的修改提交,但工作区的不会提交,哪怕你也修改了
        master 主分支 git commit 就是提交到当前分支
        head 指向master的指针,head 表示当前版本,head^上一版,head^100 上一百版
        origin 远程库的默认名称

      命令:
        git init 初始化
        git status 显示状态,那些修改过了
        git diff 修改了什么,后面可以跟文件名
        git diff -- readme.txt 对比当前版本和暂存区的
        git diff head^ -- readme.txt 对比上一版和当前的 readme.txt 前也可以加版本号
        git add 文件名 添加到暂存区
        git add -f aa.class 强制添加
        git commit -m '' 提交
        git log 显示提交历史(有版本号)
        git log --pretty=oneline --abbrev-commit 显示历史 commit id和命令
        git reflog 历史命令版本
        git reset --hard head^ 回退到上一版,head^100表示往上100版,没有push哦
        git reset --hard 版本号 回退到具体版本,版本号可以不写全,没有push哦
        git checkout -- readme.txt 丢弃工作区的修改,还没有add的内容
        git reset head readme.txt 撤销暂存区的内容,还没commit的,然后再checkout
        git rm readme2.txt 删除文件

        git remote add origin https://github.com/heroy/learngit.git 本地库添加到远程库
        git push -u origin master 首次将本地master推到远程origin库,-u是关联分支
        git push origin master 后续推送用此命令
        git clone git@github.com/heroy/gitstills.git 克隆仓库到本地


      远程
        ssh-keygen -t rsa -C "youremail@example.com" 创建SSH-key,密码可以为空
        在.ssh目录,id_rsa 为私钥,id_rsa.pub为公钥
      分支
        git branch dev 创建dev分支
        git checkout dev 切换到dev分支
        git checkout -b dev 创建并切换到dev分支
        git branch 查看分支
        git branch -d dev 删除分支 dev
        git branch -D dev 强行删除(如果分支没有merge,要用此)
        git merge dev 合并dev到master,(当前命令环境在master)
        git merge --no-ff -m '新commit模式' dev 合并dev,这种合并模式可以查看合并历史
        git stash 储藏挡墙状态
        git stash list 储存历史
        git stash apply 回复储存历史,但不删除,多个历史时可以 后缀历史编号:stash@{0}
        git stash drop 删除历史
        git stash pop 回复并删除
        git remote 显示远程分支 加 -v 显示详情
      标签
        git tag v1.0 在当前分支上打标签,标签是打在commit id上的,后面加commit id号 可以达到对应的
        git tag 查看标签
        git tag -a v1.1 -m 'version 1.1 带说明的' 12a3v3 带说明的标签
        git tag -s v1.2 -m 'version 1.2 带有私钥的' fec32a 私钥签名的标签
        git tag -d v1.1 删除标签
        git push origin v1.2 推送标签到远程库
        git push origin --tags 推送所有标签
        git push origin :refs/tags/v1.2 删除服务器标签(必须要先在本地删除)
        git show v1.0 查看标签详情

      其他
        vim readme.md vim模式编辑文本
        进入vim后,按esc退出输出状态,Shift+; 然后 q!(wq!是保存文件) 然后 回车
        git config 查看配置命令
        git cofnig -l 查看配置信息
        git check-ignore -v App.class 查看是否忽略
        工作区目录下 加一个 .gitignore文件 里面可以编写忽略的文件
        被忽略的文件 不可以add, 但可以 -f 强制添加
        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"
        将后续命令简化为 lg

  • 相关阅读:
    linux 进程
    VFS dup ,dup2
    文件操作 之 各类函数
    文件系统之 stat与access
    xml文件
    Java学习笔记42(数据库连接池 druid连接池)
    java学习笔记41(数据库连接池 C3p0连接池)
    java学习笔记39(sql事物)
    java学习笔记38(sql注入攻击及解决方法)
    java学习笔记37(sql工具类:JDBCUtils)
  • 原文地址:https://www.cnblogs.com/heroy/p/5486920.html
Copyright © 2020-2023  润新知