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使用教程

    Git安装 近期有人问如何使用git,随笔写点。Windows下要使用很多Linux/Unix的工具时,需要Cyg...

  • git 常用命令

    前言 Android 常用命令集,只做随笔,会不断更新 解决方案 初始化命令git init 提交命令git ad...

  • Git随笔

    Git rm --cached 从缓存区删除 git log 查看提交历史-p -2 (-p:显示每次内容差异 -...

  • Git随笔

    生成ssh-key 设置用户名和邮箱 推送本地分支到远程仓库 如果远程分支不存在 本地项目添加多个远程仓库 第一种...

  • GIT 随笔

    reset-revert-checkout

  • git随笔

    git 常用操作 修改提交信息本地撤销修改记录git commit --amend通过此命令进入到提交信息界面,...

  • git 随笔

    git status,git log ,git pull ,git push,git cherry-pick ,g...

  • Git随笔

    #在服务端创建一个仓库 mkdir 仓库名git init --bare 仓库名 可能需要修改文件夹的权限(sud...

  • Git操作随笔

    基本概念工作区:就是你在电脑里能看到的目录。版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本...

  • Git学习随笔

    Workspace:工作区 ,执行git add *命令就把改动提交到了暂存区,执行git pull命令将远程仓库...

网友评论

      本文标题:Git随笔

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