0%

教程链接: https://www.liaoxuefeng.com/wiki/896043488029600

🍬. 总结

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
1. 初始化一个Git仓库,使用 "git init" 命令。
2. 添加文件到Git仓库,分两步:
- 使用命令 "git add <file>",注意,可反复多次使用,添加多个文件;
- 使用命令 "git commit -m <message>",完成。
3. 要随时掌握工作区的状态,使用 "git status" 命令。
如果 "git status" 告诉你有文件被修改过,用 "git diff" 可以查看修改内容。
4. 版本回退:
- HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令 "git reset --hard commit_id"
- 穿梭前,用 "git log" 可以查看提交历史,以便确定要回退到哪个版本。
- 要重返未来,用 "git reflog" 查看命令历史,以便确定要回到未来的哪个版本。
5. 撤销修改:
- 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令 "git checkout -- file"
- 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令 "git reset HEAD",就回到了场景1,第二步按场景1操作。
6. 删除文件:
- 删除一个文件:用命令 "git rm file" 删掉,并且 "git commit -m xxx"
- 恢复误删除文件:"git checkout -- file" 其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
7. 创建与合并分支:
- 查看分支:"git branch"
- 创建分支:"git branch <name>"
- 切换分支:"git checkout <name>" 或者 "git switch <name>"
- 创建+切换分支:"git checkout -b <name>" 或者 "git switch -c <name>"
- 合并某分支到当前分支:"git merge <name>"
- 删除分支:"git branch -d <name>"
8. 当你当前分支的工作没做完想切换分支的时候,需要把当前分支的内容先隐藏 "git stash"
9. 如果要丢弃一个没有被合并过的分支,可以通过 "git branch -D <name>" 强行删除。
10. 多人协作:
- 查看远程库信息,使用 "git remote -v"
- 本地新建的分支如果不推送到远程,对其他人就是不可见的;
- 从本地推送分支,使用 "git push origin branch-name",如果推送失败,先用 "git pull" 抓取远程的新提交;
- 在本地创建和远程分支对应的分支,使用 "git checkout -b branch-name origin/branch-name",本地和远程分支的名称最好一致;
- 建立本地分支和远程分支的关联,使用 "git branch --set-upstream branch-name origin/branch-name"
- 从远程抓取分支,使用 "git pull",如果有冲突,要先处理冲突。

如何挖掘新词

汉语是一种独特而神奇的语言。对汉语资料进行自然语言处理时,我们会遇到很多其他语言不会有的困难,比如分词——汉语的词与词之间没有空格,那计算机怎么才知道,“已结婚的和尚未结婚的青年都要实行计划生育”究竟说的是“已/结婚/的/和/尚未/结婚/的/青年”,还是“已/结婚/的/和尚/未/结婚/的/青年”呢?这就是所谓的分词歧义难题。不过,现在很多语言模型已经能比较漂亮地解决这一问题了。但在中文分词领域里,还有一个比分词歧义更令人头疼的东西——未登录词。中文没有首字母大写,专名号也被取消了,这叫计算机如何辨认人名地名之类的东西?更惨的则是机构名、品牌名、专业名词、缩略语、网络新词等等,它们的产生机制似乎完全无规律可寻。最近十年来,中文分词领域都在集中攻克这一难关。自动发现新词成为了关键的环节。

挖掘新词的传统方法是,先对文本进行分词,然后猜测未能成功匹配的剩余片段就是新词。这似乎陷入了一个怪圈:分词的准确性本身就依赖于词库的完整性,如果词库中根本没有新词,我们又怎么能信任分词结果呢?此时,一种大胆的想法是,首先不依赖于任何已有的词库,仅仅根据词的共同特征,将一段大规模语料中可能成词的文本片段全部提取出来,不管它是新词还是旧词。然后,再把所有抽出来的词和已有词库进行比较,不就能找出新词了吗?有了抽词算法后,我们还能以词为单位做更多有趣的数据挖掘工作。这里,我所选用的语料是人人网 2011 年 12 月前半个月部分用户的状态。非常感谢人人网提供这份极具价值的网络语料。

给定一个主串S及一个模式串P,判断模式串是否为主串的子串;若是,返回匹配的第一个元素的位置,否则返回-1;

如S=“abcd”,P=“bcd”,则返回1;S=“abcd”,P=“acb”,返回-1。