git在本地下可能会用到的指令学习笔记

终端下的其他命令

cd进入路径,一般找文件时先 ./ ..后退
(也可进入git仓库路径,再进入其内的文件,仓库内config可以看到所有本地信息,HEAD引用正在工作的分支,refs引用,里面的heads看所有分支,objects里面的二位加idcat反向追踪后可以看到具体的类型tree或者blob

pwd当前工作路径

ls -al显示路径下所有文件

cat显示文件内容,跟上具体分支显示具体id(加上-file -t id号反向追踪其文件类型,t换成p则显示指向的文件类型)

vi进入修改文件内容界面,:wq!退出(vi .gitignore可以添加不被管理的类文件)

echo在当前路径下创建新的文件

$ git help看提示,看具体的延申在后面加上--具体

习惯上先用add加入后,再用commit -m ''写明操作原因

config的三个作用域

$ git config --local//对某个仓库有效
$ git config --global//对当前用户所有仓库有效
$ git config --system//对系统所有登录的用户有效
//直接输入local时会报错,其他两个会给出一大串可执行的指令
$ git config --list --local
//加--list显示config的配置,什么都没有的情况下输入local会报错,输入global会显示名字和邮件,输入system显示系统信息
//不加--list直接加具体想看的内容也可以,即二中不加具体内容的格式

二 最小配置

$ git config --global user.name 'your name'
$ git config --global user.email 'your email'
//也可以用来改写信息

三 建git

  1. 已有的项目纳入管理

    $ cd 项目代码所在文件夹
    $ git init
    
  2. 新建的项目直接管理

    $ cd 某个文件夹
    $ git init your_project //会在当前路径下创建和项目名称同名的文件夹
    $ cd your_project
    

四 将文件纳入git管理后的部分命令

$ git commit -m'内容'
//-m写入改变的原因(写入暂存区),-am可以跳过(不推荐)
//没有加入库前用该指令会提示无法跟踪文件
延申:
1.内容如果写错了,应用
$ git commit --amend指令进入修改界面改第一行数据(只能对最近的一次)
$ git rebase -i 需要修改信息的父亲id(通用)
//进入第一个界面后将第一行的pick改为r,随后保存退出会弹出第二个界面,改第一行数据即可
2.合并连续commit内容
$ git rebase -i 需要合并几个信息的最近父亲id
//进入后找到所有合并信息中最早的那一个保持不变,其他要合并的信息的pick改为s,随后弹出第二个界面,根据第一行提示写下合并的原因
//如果是间隔的,保证合并的几个连续(在见面调整顺序)即可,不需要合并的依然用pick,除了初始载体其他改为s
//涉及到最初的commit时要自己手写进去
3.消除最近几次commit
$ git reset --hard  要消除commit的id(会把之后的提交全部清了)
注:rebase系列命令在实操时极易出错,没有熟练度再管理正式项目时慎用

$ git add 文件名
//加入新的文件
$ git status
//显示当前仓库状态

$ git log
//看日志版本库(默认只有当前master分支,要单独看哪个分支后面加哪个即可)
延申:
$ git log --oneline -n几 --all --graph
//简便地看到所有日志,几代表看到最近几次地更改,看所有分支,图形化展示,可以拆分可以组合顺序无关
$ gitk
//图形化看版本历史,也有--all的命令,否则只是查看当前分支的演变
//定制:点view,再勾选即可(refs包含后面三个)

$ git diff
//找两个commit的差异,可以用HEAD去代替当前commit,^或者~用于找父亲,可以叠加使用,也可以加上数字
//加--cached比较暂存区和HEAD的区别
//默认下使用是比较工作区和暂存区
//比较多个时只用加一个--,随后写文件名即可;比较两个分支时不用加--,具体对哪个文件感兴趣时后面再加--文件名

$ git reset HEAD
//使暂存区恢复至HEAD(全部)
//如果指定哪个文件恢复,在后加上--文件名即可
$ git revert
//建一个新的和前一次的状态一致,可在远程仓库中使用
$ git checkout --具体的文件
//使工作区恢复至暂存区(全部)

$ git stash
//将当前工作区的内容暂时存放
$ git stash list
//看状态
$ git stash apply
//拿出来但是不删stash里面的
$ git stash pop
//拿出来丢了stash里面的

五 文件的重命名

$ git mv 原文件名 新文件名
//改日志
$ git rm 原文件
//删旧的,暂存区一块删
$ git reset --hard
//删掉暂存区内所有的更改(危险)

六 分支命令

如果在不存在的地方(用checkout随意指向一个地方)执行命令(分离头指针的情况下),过段时间所做操作会被清理

$ git branch -av
//显示分支,-v也行
$ git checkout 分支名
//切换分支
$ git branch -b 分支名
//创建并切换至该分支(去掉-b则是只创建分支)
$ git branch -d 分支名
//删除分支,-D强力删除
$ git branch -f 分支名 提交
//让分支的下一次提交强制指向提交,提交eg.HEAD~3
$ git cherry-pick id值
//复制一条新路径,将id值的提交复制一遍添加到当前指向下

git仓库的备份

$ git clone --bare file://地址 zhineng.git(任意命名)
//智能协议拷贝
$ git remote -v
$ git remote add zhineng(任意命名) 地址
//和远端仓库发生链接
$ git push zhineng(任意命名)
//把本地的信息更新到远端
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值