Skip to content

Commit 2c7e910

Browse files
committed
update
1 parent 0e03859 commit 2c7e910

File tree

3 files changed

+61
-5
lines changed

3 files changed

+61
-5
lines changed

JavaKnowledge/Git简介.md

+56-4
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ Git简介
7373
`Git`主要分为四个区:
7474

7575
- 工作区`(Working Area)`
76-
- 暂存区`(Stage)`
76+
- 暂存区`(Stage或Index Area)`
7777
- 本地仓库`(Local Repository)`
7878
- 远程仓库`(Remote Repository)`
7979

@@ -294,8 +294,10 @@ git push // 把所有文件从本地仓库推送进远程仓库
294294
295295
`git branch devBranch`创建名为`devBranch`的分支。
296296
`git checkout devBranch`切换到`devBranch`分支。
297-
`git branch`查看当前仓库中的分支
298-
`git branch -r`查看远程仓库的分支
297+
`git checkout -b devBranch`创建+切换到分支`devBranch`。
298+
`git branch`查看当前仓库中的分支。
299+
`git branch -r`查看远程仓库的分支。
300+
`git branch -d devBranch`删除`devBranch`分支。
299301
```
300302
origin/HEAD -> origin/master
301303
origin/developer
@@ -358,7 +360,9 @@ git push // 把所有文件从本地仓库推送进远程仓库
358360
在用`linux`的时候会自动生成一些以`~`结尾的备份文件,如果ignore掉呢?[https://github.com/github/gitignore/blob/master/Global/Linux.gitignore](https://github.com/github/gitignore/blob/master/Global/Linux.gitignore)
359361
360362
- 撤销最后一次提交
361-
有时候我们提交完了才发现漏掉了几个文件没有加或者提交信息写错了,想要撤销刚才的的提交操作。可以使用--amend选项重新提交:`git commit --amend`
363+
有时候我们提交完了才发现漏掉了几个文件没有加或者提交信息写错了,想要撤销刚才的的提交操作。可以使用--amend选项重新提交:`git commit --amend`,然后再执行`git push`操作。
364+
365+
362366
363367
- 查看远程仓库克隆地址
364368
`git remote -v`
@@ -410,7 +414,55 @@ git push // 把所有文件从本地仓库推送进远程仓库
410414
411415
这样你之前隐藏的内容就会重新出现了,你可以继续开发了。
412416
417+
- Rebase操作
418+
419+
多人在同一个分支上协作时,很容易出现冲突,即使没有冲突,在`push`代码之前也要先`pull`,在本地合并后再`push`,所以就经常会出现这样的分支:
420+
```git
421+
$ git log --graph --pretty=oneline --abbrev-commit
422+
* d1be385 (HEAD -> master, origin/master) init hello
423+
* e5e69f1 Merge branch 'dev'
424+
|\
425+
| * 57c53ab (origin/dev, dev) fix env conflict
426+
| |\
427+
| | * 7a5e5dd add env
428+
| * | 7bd91f1 add new env
429+
| |/
430+
* | 12a631b merged bug fix 101
431+
|\ \
432+
| * | 4c805e2 fix bug 101
433+
|/ /
434+
* | e1e9c68 merge with no-ff
435+
|\ \
436+
| |/
437+
| * f52c633 add merge
438+
|/
439+
* cf810e4 conflict fixed
440+
```
441+
看上去会很乱,有些强迫症的人会问:为什么`Git`的提交历史不能是一条干净的直线?
442+
`rebase`操作就是解决这个问题的,它可以把分叉的提交历史整理变成一条直线,看上去更直观。缺点是本地的分叉提交已经被修改过了。
443+
444+
也就是说`gie merge``git rebase`做的事情其实是一样的。它们都被设计来将一个分支的更改并入到另一个分支中。
445+
446+
- git fetch与git pull的区别
447+
448+
`git``fetch`命令是将远程分支的最新内容拉到了本地,但是`fecth`后是看不到变化的,如果查看当前的分支,会发现此时本地多了一个`FETCH_HEAD`的指针,`checkout`到该指针后才可以查看远程分支的最新内容。
413449

450+
`git pull`的作用相当于`fetch``merge`的组合,会自动合并:
451+
452+
```git
453+
git fetch origin master
454+
git merge FETCH_HEAD
455+
```
456+
457+
- git pull 与git pull --rebase的使用
458+
459+
使用下面的关系区别这两个操作:
460+
461+
```git
462+
git pull = git fetch + git merge
463+
git pull --rebase = git fetch + git rebase
464+
```
465+
`git rebase`的过程中,有时会有`conflit`这时`Git`会停止`rebase`并让用户去解决冲突,解决完冲突后,用`git add`命令去更新这些内容,然后不用执行`git commit`,直接执行`git rebase --continue`这样`git`会继续`apply`余下的补丁。
414466
415467
---
416468

JavaKnowledge/Vim使用教程.md

+4
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ Vim使用教程
4040
- `#l` 移动光标到改行第#个字的位置,如`5l`
4141
- `ctrl+g` 列出当前光标所在行的行号等信息
4242
- `: #` 如输入: 15会跳到文章的第15行
43+
- `ctrl + d`向下翻页
44+
- `ctrl + u`向上翻页
4345

4446
删除文字
4547
---
@@ -59,6 +61,7 @@ Vim使用教程
5961
- `yw` 复制当前光标所在位置到字尾处的位置
6062
- `#yw` 复制当前光标所在位置往后#个字
6163
- `y$` 拷贝光标至本行结束位置
64+
- `y` 拷贝选中部分,在`Normal`模式下按`v`会进入到可视化模式,这时候可以上下移动进行选中某一部分,然后按`y`就可以复制了。
6265

6366
- `p` 粘贴
6467

@@ -74,6 +77,7 @@ Vim使用教程
7477
---
7578

7679
- `u` 撤销、回退
80+
- `ctrl + r` 恢复刚才的撤销操作
7781

7882
搜索
7983
---

VideoDevelopment/DLNA简介.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ DLNA架构分为如下图7个层次:
9292

9393
3. Device Discovery&Control 设备发现和控制。
9494
这一层是DLNA的基础协议框架。**DLNA用UPnP协议来实现设备的发现和控制**。下面重点看一下UPnP。
95-
`UPnP`,英文是`Universal Plug and play`,翻译过来就是通用即插即用。UPnP最开始Apple和Microsoft在搞,后来Apple不做了(这里多一嘴,为什么Apple不做了,因为Apple现在出了个),Microsoft还在继续做,Intel也加进来做,Sony,Moto等等也有加入。UPnP有个网站http://www.upnp.org/,我们发现DLNA的网页和UPnP的网页很像,颜色也差不多,就可以知道他们关系很好了。DNLA主要是在推UPnP。
95+
`UPnP`,英文是`Universal Plug and play`,翻译过来就是通用即插即用。UPnP最开始Apple和Microsoft在搞,后来Apple不做了(这里多一嘴,为什么Apple不做了,因为Apple现在出了个),Microsoft还在继续做,Intel也加进来做,Sony,Moto等等也有加入。UPnP有个网站[http://www.upnp.org/](http://www.upnp.org/),我们发现DLNA的网页和UPnP的网页很像,颜色也差不多,就可以知道他们关系很好了。DNLA主要是在推UPnP。
9696

9797
微软官方网站对UPnP的解释:通用即插即用 (UPnP) 是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中。UPnP 以 Internet 标准和技术(例如 TCP/IP、HTTP 和 XML)为基础,使这样的设备彼此可自动连接和协同工作,从而使网络(尤其是家庭网络)对更多的人成为可能。
9898
举个例子。我们在自己的PC(win7)里面打开网络服务的UPnP选项,然后再家庭网络中共享一个装着视频的文件夹,然后买一台SmartTV回来打开就可以找到这台PC的共享文件夹,然后就直接在电视上选文件播放了。

0 commit comments

Comments
 (0)