Danmo的学习之路(Git精炼版)

基础linux命令

  • clear :清除屏幕
  • echo ‘test content’:往控制台输出信息 echo ‘test content’ > test.txt
  • ll :将当前目录下的 子文件&子目录平铺在控制台
  • find 目录名: 将对应目录下的子孙文件&子孙目录平铺在控制台
  • find 目录名 -type f :将对应目录下的文件平铺在控制台
  • rm 文件名 : 删除文件
  • mv 源文件 重命名文件: 重命名
  • cat 文件的 url : 查看对应文件的内容
  • vim 文件的 url(在英文模式下)
    • 按 i 进插入模式 进行文件的编辑
    • 按 esc 键&按:键 进行命令的执行
    • q! 强制退出(不保存)
    • wq 保存退出
    • set nu 设置行号

配置

  • git config --global user.name “danmo” :配用户名
  • git config --global user.email danmo@example.com:配邮箱地址
  • git config --list:检查配置信息
  • git config --global --unset user.email:删除配置信息

git底层命令

git对象

  • git hash-object -w fileUrl :
    生成一个key(hash值):val(压缩后的文件内容)键值对存到.git/objects

tree对象

  • git update-index --add --cacheinfo 100644 hash test.txt :
    往暂存区添加一条记录(让git对象 对应 上文件名)存到.git/index

文件模式为 100644,表明这是一个普通文件
100755,表示一个可执行文件;
120000,表示一个符号链接。

  • git write-tree : 生成树对象存到.git/objects

commit对象

  • echo ‘first commit’ | git commit-tree treehash : 生成一个提交对象存到.git/objects

对以上对象的查询

  • git cat-file -p hash : 拿对应对象的内容
  • git cat-file -t hash : 拿对应对象的类型

git高层命令

CRUD

  • git init: 初始化仓库
  • git status: 查看文件的状态
  • git diff: 查看哪些修改还没有暂存
    git diff --staged: 查看哪些修改已经被暂存了 还没提交
  • git log --oneline: 查看提交的历史记录
  • git add ./: 将修改添加到暂存区
  • git rm 文件名: 删除工作目录中对应的文件 再将修改添加到暂存区
  • git mv 原文件名 新文件名: 将工作目录中的文件进行重命名 再将修改添加到暂存区
  • git commit
    git commit -a (-a只能用于已跟踪过的文件)
    git commit -a -m “注释” : 将暂存区提交到版本库

分支

分支

  • git branch: 显示分支列表
  • git branch 分支名: 创建分支
  • git branch -b 分支名: 创建分支,并且切换过去
  • git checkout 分支名: 切换分支

切换分支的坑:(第一次提交之前)在切换分支之前,要先确保状态“干净”(全部commit),否则会污染其它分支。

  • git branch -D 分支名: 强制删除分支(不能自己删自己,删除前要切换到别的分支)
  • git log --oneline --decorate --graph --all:查看项目分叉历史
    • git config --global alias.别名 “原指令” :配别名
  • git branch -v: 可以查看每一个分支的最后一次提交
  • git branch name commitHash(commit对象的hash):新建一个分支并且使分支指向对应的提交对象(但是此时分支还没有切过去,得再用git checkout)

合并

  • git merge 分支名:合并分支(会将这个分支合并到现在所处的分支内)
  • git branch –merged:查看哪些分支已经合并到当前分支
  • git branch --no-merged:查看所有包含未合并工作的分支

储存

  • git stash:将未完成的修改保存到一个栈上
  • git stash list:查看存储
  • git stash apply 储藏的名字:应用储藏(储藏的名字用git stash list可以查看)
    如果不指定一个储藏,Git 认为指定的是最近的储藏
  • git stash drop 将要移除的储藏的名字:从栈上移除储藏
  • git stash pop 储藏的名字?:应用储藏然后立即从栈上扔掉它
    相当于apply和drop的结合,多用。

后悔药

  • git checkout --文件名:将在工作目录中对文件的修改撤销(任何修改都会消失)
  • git reset HEAD 文件名:将文件从暂存区中撤回到工作目录。
  • git commit –amend:修改提交的注释。
如果你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:
git commit -m 'initial commit'
git add forgotten_file
git commit –amend
最终你只会有一个提交 - 第二次提交将代替第一次提交的结果。
reset三部曲
  • git reset --soft HEAD~ :版本库切回到上一个版本。
  • git reset [–mixed] HEAD~ :切换版本库的同时,切回上一个暂存区。
  • git reset --hard HEAD~:切换版本库的同时,切回上一个暂存区,还切回上一个工作区。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值