小编mga*_*abe的帖子

如何正确使用 git merge --squash

我对 git 相当陌生,只能自己工作,所以我没有使用它可以做的许多功能,但我遇到了一个过程,要么我想错了,要么做错了什么。

我有一个带有 1 个提交(初始化)的主分支。

我有一个有 180 个提交的开发分支。

今天我终于准备好将 develop 分支合并到 master 分支,我读了一些书,发现了关于壁球的知识。这似乎很有用,因为我不会使用开发分支中相同的 WIP 提交来污染 master 分支。

所以我跑了

git checkout master
git merge --squash develop
git commit
Run Code Online (Sandbox Code Playgroud)

从这里一切看起来都符合我的预期,master有 2 次提交,develop仍然有 180 次。在我的脑海中,我现在develop再次检查并继续工作。我推到bitbucket并环顾我的项目以查看此合并并注意到以下内容:

1 commit(s) on master and not on develop
179 commit(s) on develop and not on master
Run Code Online (Sandbox Code Playgroud)

这只是预期的行为,我应该忽略它还是我做错了什么。

git merge bitbucket

8
推荐指数
2
解决办法
7401
查看次数

Swift 4 Codable - Bool或String值

寻找一些关于如何处理我最近遇到的场景的输入.

我一直在使用Swift 4s Codable成功,但今天发现了一个我没想到的崩溃.我正在使用的API表示它返回了一个boolean密钥manage_stock.

我的存根结构看起来像:

struct Product: Codable {
    var manage_stock: Bool?
}
Run Code Online (Sandbox Code Playgroud)

这很好用,问题是API 有时会返回string而不是a boolean.

因此,我的解码失败了:

Expected to decode Bool but found a string/data instead.
Run Code Online (Sandbox Code Playgroud)

字符串只有等于"parent",我希望它等于false.

我也可以更改我的结构,var manage_stock: String?如果这样可以更容易地从API中获取JSON数据.但是,当然,如果我改变了,我的错误只会改为:

Expected to decode String but found a number instead.
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法来处理这种突变,或者我是否需要丢失所有Codable带来的自动化并实现我自己的init(decoder: Decoder).

干杯

json swift codable

1
推荐指数
1
解决办法
4067
查看次数

标签 统计

bitbucket ×1

codable ×1

git ×1

json ×1

merge ×1

swift ×1