iOS~常用的相关命令

Xcode模拟器录屏的命令:

  1. 进入终端,cd到要放置录屏文件的位置

例如:cd Movies/

  1. 输入命令
xcrun simctl io booted recordVideo filename.mov

此处的filename是我们要保存的move的名称
停止录屏:在终端输入control + c,此处的control就是control键不是command

最后进入到对应文件夹就可以找到录制好的视频了。

git常用命令

  • 上传本地代码到Github
  1. Github上创建仓库
  2. 打开Mac终端,cd到本地项目的位置
cd /Users/apple/Desktop/Movies 
  1. 在本机本地址上创建一个 新的git仓库
$ git init 
  1. 添加本地项目
$ git  add .
  1. 提交信息
$ git commit -m "first commit"
  1. 管理远程仓库
$ git remote add origin https://github.com/SuiFengLiuNian/CALayerCoreAnimation.git
  1. 推送本地项目到远程
$ git push -u origin master

注意:删除本地的git目录

$ rm -rf .git/
问题
  • 如果提示fatal: remote origin already exists
    解决办法:
1、先输入 git remote rm origin
2、再输入 git remote add origin**************
  • 提示The authenticity of host 'github.com ' can't be established
git remote add origin******
The authenticity of host 'github.com ' can't be established(无法建立主机“github.com”的真实性)

可能是你的git地址采用了ssh方式,切换为https方式即可,也可能是你的仓库地址不对,可以用命令先查看一下:

 git remote -v

如果跟你的github地址不一样,那就去你的github上复制一下仓库地址
然后在终端中输入:

git remote set-url origin https://github.com/SuiFengLiuNian/CALayerCoreAnimation.git (这个是你的复制的仓库地址)

最后再push

git push origin master 

  • 添加代码到git
git add .
git commit -m "XXX"(XXX为注释内容)
git pull --rebase origin master
git push origin master


  • 更新远程分支
git remote update origin --prune 
git相关引用:

https://betheme.net/news/txtlist_i297392v.html?action=onClick

  • Tag标签

https://www.cnblogs.com/east7/p/16701994.html

Git分支

  • Git删除远程分支
git push origin --delete [branch_name]
git branch -D -r origin/branch_name
  • 删除本地分支区别
git branch -d 会在删除前检查merge状态(其与上游分支或者与head)。git branch -D 是git branch --delete --force的简写,它会直接删除。
共同点都是删除本地分支的方法(与删除远程分支命令相独立,要想本地和远程都删除,必须得运行两个命令)
  • Git查看分支
查看本地分支 git branch查看远程分支 git branch -r查看本地和远程分支 git branch -a
  • Git删除分支
删除本地分支 git branch -d 本地分支名删除远程分支 git push origin --delete 远程分支名推送空分支到远程(删除远程分支另一种实现)git push origin :远程分支
  • Git分支到远程
方法一
使用如下命令:
//从远程分支 checkout 新分支并切换到该分支
git checkout -b 本地分支名x origin/远程分支名x
1
使用该方式会在本地新建分支x,并自动切换到该本地分支x。

采用此种方法建立的本地分支会和远程分支建立映射关系。

方式二
使用如下命令:

git fetch origin 远程分支名x:本地分支名x
1
使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。

采用此种方法建立的本地分支不会和远程分支建立映射关系。

//推送到远程 会自动切换映射关系
要最终推送 repo,请运行 git push -u origin <branch-name>


要查看本地分支与远程分支的关联关系,可以使用 git branch -vv 命令。这个命令会显示所有本地分支的名称,以及它们所关联的远程分支的名称和最后一次提交的信息。
例如,如果你的本地仓库中有一个名为 feature-a 的分支,并且它关联到了远程仓库中的一个名为 origin/feature-a 的分支,那么运行 git branch -vv 命令后可能会看到类似下面的输出:
* feature-a   c32a342 [origin/feature-a] Add new feature
  master      f23b456 [origin/master] Merge pull request #123
复制代码
在这个输出中,前面带有星号的行表示当前分支,也就是 feature-a。后面紧跟着的两个方括号中分别包含了远程分支的名称和本地分支最后一次提交的信息。
如果要查看某个特定的本地分支与远程分支的关联关系,可以在 git branch -vv 命令后加上分支的名称,例如:git branch -vv feature-a。这样可以只显示 feature-a 分支的信息。

Git的Tag命令

  • 删除远程分支和tag
1.1 在Git v1.7.0之后
删除远程分支:
git push origin --delete <branchName>
删除Tag:
git push origin --delete tag <tagname>
1.2 在Git v1.7.0之前
删除远程分支(推送一个空分支到远程分支,其实相当于删除远程分支):
git push origin :<branchName>
删除远程Tag(推送一个空tag到远程tag,其实相当于删除远程tag):
git tag -d <tagname>
git push origin :refs/tags/<tagname>

  • 查看Tag
----------------tag----------------
1.查看所有taggit tag
2.创建taggit tag v1.0
3.删除taggit tag -d v1.0
4.把tag推送到远端git push origin v1.0
5.把所有tag一起推送到远端git push origin -–tags
6.显示tag信息git show v1.0
7.修改tag名 v1.0重命名v2.0(1)git tag 新tag名称 旧tag名称(2)git tag -d 旧tag名称(3)git push origin :refs/tags/旧tag名称(4)git push --tags
8、查看远程tag git ls-remote --tags origin


1、通过git log查看要特定commit提交记录的hash值
git log --pretty=oneline --abbrev-commit
2、通过git tag 命令打tag
选择某个提交记录打tag,上一步看到的是hash前缀,在idea里提交记录如果中文可能是乱码,直接复制版本号前缀匹配

git tag -a v_tag_V3.4.5 -m "tag描述"  768a49ff
3、将tag通过git push origin 推送到远端(少了这一步,远程看不到本地的tag)
git push origin v_tag_V3.4.5
  • Git简述
----------------git----------------git中有两个状态:内容状态和文件状态,内容状态标示内容文件的改变,有三个区域:工作目录,暂存区和提交区文件状态有两个状态:已跟踪和未跟踪
1.用户配置git config --global user.name "username"git config --global user.email xxxxxx@163.com
2.初始化git仓库git init
3.添加文件内容到暂存区(同时文件被跟踪)git add4.添加所有文件git add .
5.从暂存区提交 -m:注释git -commit -m 'first commit'
6.从工作区提交git commit -a -m 'full commit'
7.仅从暂存区删除git rm --cached
8.从暂存区与工作目录同时删除git rm
9.删除所有被跟踪,但是在工作目录被删除的文件git rm $(git ls-files --deleted)
10.将本地历史推送到远程git push
11.克隆一个远程仓库作为本地仓库git clone
----------------branch----------------
1.创建一个分支git branch <branchName>
2.删除一个分支git branch -d <branchName>
3.显示所有分支信息git branch -v
4.刷新远端分支git remote update origin -p
5.所有分支git branch -a
6.所有远端分支git branch -r
7.修改本地分支名git branch -m 原始名称 新名称
8.修改远端分支名(1)先重命名本地分支git branch -m 旧分支名称 新分支名称(2)删除远程分支git push --delete origin 旧分支名称(3)上传新修改名称的本地分支git push origin 新分支名称(4)修改后的本地分支关联远程分支git branch --set-upstream-to origin/新分支名称
  • Git log
1、通过git log查看要特定commit提交记录的hash值
git log --pretty=oneline --abbrev-commit
2、通过git tag 命令打tag
选择某个提交记录打tag,上一步看到的是hash前缀,在idea里提交记录如果中文可能是乱码,直接复制版本号前缀匹配

git tag -a v_tag_V3.4.5 -m "tag描述"  768a49ff
3、将tag通过git push origin 推送到远端(少了这一步,远程看不到本地的tag)
git push origin v_tag_V3.4.5
————————————————

git prune 简单地说就是一个清扫(housekeeping)的命令。

使用git查看分支,可以看到分支有三个重要分类:本地分支,本地-远程分支的参照,远程分支比如我们在github上merge了一个PR,顺手删除了一个分支,这时在本地的电脑上本删除的分支对应的本地分支,远程分支,远程本地的参照关系都还存在,如果我们使用git branch -D name删除该分支, 会发现只删除了本地的分支,所参照的远程分支origin/name依然存在,清理这种残留垃圾的命令的时候,就是用到了prune。
git remove prune 和 git fetch --prune
git remove prune 清理所有已经删掉的远程分支参照,但是不会删除本地分支
git fetch --prune 则是清理完远程的无用分支之后,再把最近状态fetch到本地
 分享

  • Git reset

https://juejin.cn/post/7156533151920029703]

  • Git cherry-pick

https://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html

LLDB命令

  • LLDB是开源的内置于Xcode的调试工具
  • 1.打印、需改值
    打印相关的命令有:p、po
    p和po的区别在于使用po 只会输出对应的值、使用p则会返回值的类型以及命令结果的引用名
lldb) p self.baseEffect
(GLKBaseEffect *) $0 = 0x000060000128d130
(lldb) po self.baseEffect
self = 0x60000128d130 - GLKBaseEffect
{
lightingType:       GLKLightingTypePerVertex
lightModelTwoSided: GL_FALSE
GLKEffectPropertyTransform = 0x7fe822626890
{
    modelviewMatrix
    {
    {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}}
    }
    projectionMatrix
    {
    {{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}, {0, 0, 0, 1}}
    }
    normalMatrix
    {
    {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}
    }
}
light0 =    NULL
light1 =    NULL
light2 =    NULL
material =  NULL
texture2d0 = 0x6000012846e0
GLKEffectPropertyTexture = 0x6000012846e0
{
    enabled =       1
    name =          0
    envMode =       GLKTextureEnvModeModulate
}
texture2d1 =        NULL
constantColor = {1.000000,1.000000,1.000000,1.000000}
fog =               NULL
}
  • P 还可以进行敞亮的进制之间的转换
//默认打印为10进制
(lldb) p 100
(int) $8 = 100
//转16进制
(lldb) p/x 100
(int) $9 = 0x00000064
//转8进制
(lldb) p/o 100
(int) $10 = 0144
//转二进制
(lldb) p/t 100
(int) $2 = 0b00000000000000000000000001100100
//字符转10进制数字
(lldb) p/d 'A'
(char) $7 = 65
//10进制数字转字符
(lldb) p/c 66
(int) $10 = B\0\0\0
  • expression修改参数值
//expression打印值
(lldb) expression width
(CGFloat) $5 = 67
//expression修改值
(lldb) expression width = 80
(CGFloat) $6 = 80
//打印修改后结果
(lldb) p width
(CGFloat) $7 = 80
(lldb) 
Permission denied

使用pods 有时候会出现如下错误:

Pods-resources.sh: Permission denied
解决如下:

终端cd到 /Pods/Target Support Files/Pods/Pods-resources.sh所在文件夹,然后执行如下命令:

chmod a+x Pods-resources.sh

该错误是由访问权限引起

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,898评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,401评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,058评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,539评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,382评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,319评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,706评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,370评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,664评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,715评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,476评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,326评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,730评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,003评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,275评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,683评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,877评论 2 335

推荐阅读更多精彩内容

  • 一、Git的简介 1.1.什么是git?git是一款开源的分布式版本控制工具,在世界上所有的分布式版本控制工具中,...
    IIronMan阅读 1,747评论 0 12
  • 简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快、最简...
    JonesCxy阅读 988评论 0 3
  • 第1章 Shell和vi 1.1什么是shell 在计算机科学中,Shell俗称壳,用来区别于Kernel(核),...
    福尔摩鸡阅读 835评论 0 1
  • 一.觉察日记 (一)事件:因见同修每晚都是近24点交作业,一是好奇,二是担心她身体。 (二)我的反应和应对:直接在...
    晋春77阅读 168评论 0 2
  • 潇洒姐说过:“多参加点活动,多经历点场面。咱们是活在人面前的。” 嗯,要保证出席率嘛。这么有意义的线下趁早活动怎么...
    Happy了了君阅读 705评论 0 9