Git随笔

作者: bingwen | 来源:发表于2018-03-21 09:20 被阅读0次
    git.jpg
    (上图来自廖雪峰Git教程
    1. Git rm --cached 从缓存区删除

    2. git log 查看提交历史

      • -p -2 (-p:显示每次内容差异 -2:最近两次提交)
      • --stat:简略的统计信息
    3. git commit --amend:重新提交

    4. git checkout -- <file> 撤销工作区中对文件修改(回到最近一次git commit或git add时的状态)

      • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
      • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
      • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
    5. git reset HEAD <file> 取消暂存
      git reset --hard HEAD^ 回到上一个版本
      git reset --hard commit_id 回到某个版本

    6. git reflog 记录每一次命令

    7. git diff 是工作区(work dict)和暂存区(stage)比较
      git diff --cached 是暂存区(stage)和分支(master)的比较

    8. 配置全局的用户名和邮箱:
      git config --global user.name "xxx"
      git config --global user.email "xxx"

      在项目根目录下单独配置:
      git config user.name “xxx”
      git config user.email "xxx"

      查看当前配置
      git config --list

    9. 创建分支并切换
      git checkout -b dev 创建dev分支并切换到dev分支
      等同于以下两条命令:
      git branch dev
      git checkout dev

      git branch -d dev 删除dev分支
      git branch -D <name> 强行删除未合并的分支
      git branch 查看分支
      git branch -vv 查看本地分支和远程分支的关联关系

    10. git merge 用于合并指定分支到当前分支(fast forward模式)
      git merge --no-ff -m "merge xxx" dev 合并dev分支到当前分支,普通模式合并,合并后的历史有分支(禁用fast forward)

    11. git stash 储藏工作现场,用于把未完成的任务保存起来,切换到其他分支修改bug。
      git stash pop 恢复工作现场
      git stash list 罗列保存的工作现场

    12. git checkout -b branch-name origin/branch-name 在本地创建和远程分支对应的分支,名称最好一致
      git branch --set-upstream-to=origin/remote-branch your-branch 建立本地分支和远程分支的关联(remote-branch:远程分支,your-branch:本地分支)
      (在要关联的本地分支上) git pull origin 远程分支名称
      git pull (origin branch-name) 从远程抓取分支
      git push (origin branch-name) 从本地推送分支

    13. git tag <name> 创建一个标签
      git tag -a <tagname> -m "blabla...." <commit_id> 指定标签信息
      git tag 查看所有标签
      git show <tagname> 显示标签信息
      git tag -d v0.1 删除标签

    14. git remote -v 查看远程库信息
      git remote add <name> url 添加远程库
      git remote rm <name> 删除远程库

    15. git remote remove origin 删除远程地址
      git remote add origin ssh://xxx.git(远程地址)

    常见问题

    1. 生成密钥:
      ssh-keygen -t rsa -C "your email"
    2. 出现:Could not open a connection to your authentication agent
    • 使用 ssh-agent bash 命令
    • 再使用 ssh-add id_rsa_name 命令即可

    参考: 1. 廖雪峰Git教程
        2. Git Book

    相关文章

      网友评论

          本文标题:Git随笔

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