Today’s Task
- Property Page
- Search History in Local Storage
- Two Tables
Additional Task
Afterwork Task
- Try Ktor HTTP API Demo
- Read about Kotlin Coroutines
Thought
1
CKLT:
- access
- catalog
- crypto
- customerportal
- dynamic-config-ui //need nucleus
- hyas
- kakapo
- keymaster
- nam
- nexus
- nucleus //17GB source code
- nucleussolr //need nucleus
- playercard
- playerownership-cassandra
- playerownership
- porpoise
- saola
- sloth
- tos
- vaquita
2
git Q&A
1. 每次同步打出 commit 的目的
同一个 branch 会有不同的 commit
需要具体的 commit id 来确认改动
同一个 branch 在同一时刻指向的 commit 是确定的,一定是当时的 top commit
但是在之后如果有新的 commit 进去了,就不能确认这时候的 branch 里面是不是多了不需要的 commit
2. 带上 tag 的好处
tag 用来标记某个 commit
对于 Jenkins 来说有点奇怪
但对于人类可以更加直观
可以知道在某个确切的 commit 的时刻,当时这个 branch 里的内容是什么,而不是当时做了什么
branch 总是指向 top commit,而 tag 不会变
3. pull 和 fetch 的区别
git fetch 会去拿新的改动 metadata,然后也会下下来改动的文件
fetch 不会动到自己的 branch,
pull 会把 origin 同名的分支合到本地分支
如果 origin 没有同名分支或者冲突的话,行为就不知道了
4. 只用 git checkout ${branch} 的问题
同名的 branch 如果本地也存在,它就不会去同步 origin 的更新
比起 checkout 完了再去 merge origin/${branch}
更好的办法是
checkout -f 强制切换到目标 branch,丢掉当前 local change
5. git fetch 的问题
remote branch 如果删掉了,本地指向这个 branch 的 refs 也需要处理掉
所以需要再去 prune 一次
git fetch --prune
相当于
git fetch --all && git remote prune
会在 prune 之前,从 remote 拿一下最新的状态
6. git push –force-with-lease
force 强行把本地分支推上远端覆盖掉
force-with-lease 不会覆盖远端分支里面别人加进去的 commit