家人们快来更新旅游攻略吧,万一有一天真能一起出去玩呢🥰
在一切开始之前,请先阅读这份指南🤤
JourneyRightNow是一个公开的(到目前为止)共享文档,供大家上传旅行记录、推荐旅行路线以及查阅攻略。
旅游路线推荐
文件夹下,每一个文件都是一条推荐的旅游路线。当然这个文件夹下也欢迎单纯推荐景点(而不能组成一条完整可行的路线)。Every step counts!
旅游攻略
文件夹下,您可以提交旅游攻略和旅游经历。由于有些攻略或经历会携带照片,为整齐起见,每一份攻略都单独成一个文件夹。
饭店推荐.md
文件,您可以向其中提交您推荐或不推荐的餐馆。格式已经附在文件中了,请按照格式编辑。
-
如果您是我们的一员,您有权限直接提交(commit)这份文档的修改稿(可以直接在线编辑),或者git clone至本地后修改提交。请注意,每次提交时的备注必须是您的署名!这有助于一目了然看出每个文档的作者。如果您一定要在备注里写其他内容,务必在文档文件名里署名。如果您提交了错误的版本,您可以在github上回退文档版本。
-
如果您不是我们的一员,那么我们更推荐您只是阅读这些文档(当然,我们欢迎您的到访)。如果您觉得有必要添加一些修改,请您严格按照格式撰写,并提出pull request。感谢您的配合,并希望这份文档能帮助你获得更好的旅行体验。
-
在提交时,请留下您的名字。最好的办法是在文件名里和文件内部同时署名,例如在文件名末尾加上(by xxx),以及在文档内部标题里加上(by xxx)。不过您也可以选择您自己的署名风格。在完成上述署名后,提交的commit message以及备注可以随意,您可以写上您提交的新改动等。
您可以直接在GitHub上编辑文档内容(点击✏符号)、创建新文档(new)、上传文件。这是一种十分便捷常用的方法,适用于小规模编辑。
如果您希望移动文件、创建文件夹、删除文件等,就必须将仓库本地化操作,下面的教程将教你怎么做。
前往 http://git-scm.com 下载git的安装包
在运行时注意该选项选择Visual Studio Code
这将方便后续的文本编辑(如果没有VSCode,也可以选择用默认的Vim)
其余选项均为默认,一路左键。
安装完成后,选择一个空文件夹并右键,会有 Open Git GUI here
& Open Git Bash here
的选项,我们一般选用 Open Git Bash here
,下文也以此为
由于使用命令行工具(Powershell、Git Bash等)时,梯子无法为它们提供代理服务,所以会导致出现无法从本地连接到远程仓库的问题
所以我们需要下载Github Desktop
在该软件内,可以使用梯子稳定访问远程仓库。
-
首先我们需要设置
user.name
anduser.email
,如下图,用git config --global
指令来设置。- 如果我们希望在本地创建一个Repository(可以理解为一个由git来掌管的文件夹,内含一个隐藏文件夹
.git
)
我们使用git init
命令来使当前文件夹成为一个新的Repository (因为我已经创建过Repository了所以图中报错了)- 如果我们希望将Remote(远程仓库)如:Github、Gitlab等中的内容复制到本地,以便本地编辑,我们先获取远程仓库的URL
然后使用
git clone URL
命令将URL所指的远程仓库克隆至本地,系统会创建一个名为仓库名的文件夹(克隆时需挂梯子)。 - 如果我们希望在本地创建一个Repository(可以理解为一个由git来掌管的文件夹,内含一个隐藏文件夹
-
现在,我们将于本地开始使用该仓库, 我们创建一个
File.txt
作为例子。
我们可以使用git status
命令来查询工作区的状态(有无文件被修改,修改操作的概要,有无文件被同步等等)这里显示该仓库中有一个“未被追踪的文件” Untracked file --- File.txt (意指文件被修改但是该修改没有被暂存并且没有被提交)
使用
git add File.txt
命令来将文件的修改操作移动至暂存区(“暂存区”概念与“工作区”相对,修改操作只有在移动至暂存区后才可以被Commit提交)然后使用
git commit
命令来提交所有处于暂存区的修改操作。在这一步,系统会自动打开一个编辑器(Powershell、VScode等)来让我们编辑 Commit Message 提交信息(通常包含了对于修改操作的概括与解释). 此处我们的提交信息是 "Add 'Version1' " 编辑完毕后点击右上角的
√
。 -
使用
git branch newbranchName
来从Master(Github上默认为Main)分支或者其他分支处创建一个新的分支。使用
git checkout targetbranchName
命令来将工作区范围移动至目标分支,下图中我们新建了new
分支,并移动至该分支。新创建的分支会复制Master/Main(或者其他源分支)内的所有内容。现在我们来编辑
new
中的文件内容。然后提交。
这里,我们使用
git commit -m "message"
命令来简化编辑 Commit Message 的过程(-m
之后的字符串即 Commit Message )然后我们再切换至
Master
分支使用
git merge targetbranchName
命令来将目标分支合并至当前分支。但是如果两个分支在其相同位置存在不同的修改操作,这将会导致 Merge Clash 合并冲突。比较复杂,这里不做解释。
-
如果我们不希望git追踪某些文件, 我们可以在工作区使用
touch .gitignore
命令来创建一个.gitIgnore
文件然后我们将我们希望不被追踪的文件的文件名输入保存在
.gitIgnore
文件中。使用
git status
命令,w我们发现ignoreMe!. txt
现在已经不再被追踪了。注意:在不被追踪的文件之中的任何修改操作都不会被git记录,所以需要谨慎对待) -
我们可以使用
git log
命令来查看该仓库之中所有的历史Commit信息。 -
有时他人编辑了仓库内的文件并将其同步(
push
操作,下文会进行讲解)至远程仓库,我们可以先使用fetch
操作来获取新增的修改操作。(由于上文提到的网络问题,所以在这里我们使用Github Desktop。)然后再使用pull
操作来拉取哪些修改后的文件。在此之后,所有的最新版文件都将被从远程同步至本地。fetch
与pull
的区别:fetch
只是获取远程仓库中相较于本地所新增的修改操作,在fetch
完毕后会列出表格提示用户,但并不会直接对工作区的文件进行修改。pull
则是将fetch
到的所有新增操作全部应用于本地工作区,会导致本地文件的增删修改。有一定风险,需要在仔细思考后再进行pull
,不然可能出现自己正在编辑的文件被他人的修改顶替的事故1。 1:出现这种事故时,Git会报告错误,并且停止pull
,提示用户可以跳转至文件编辑器(一般是VScode)来比较本地与远程产生冲突的两个版本,并且决定保留哪一个,或者是全部保留。
-
无论在仓库内进行何种文件修改操作(创建、删除、修改等),Git都将sa其记录下来。
待修改工作结束,将所有想要提交的修改
add
然后commit
即可。但是
commit
之后,这些修改仅仅只是储存在本地,无法与Github上的远程仓库同步。所以这里我们就会引出
push
操作,通过该操作,我们可以将Commit于本地的修改操作同步至远程仓库。
大家一般都是使用文本编辑器或者集成开发环境来进行文件编辑,而这些成熟的软件一般也集成了图形化界面的Git(上文介绍的主要操作都是在Git Bash这一命令行界面下进行的)。在了解了命令行的Git指令后,使用图形化Git将会得心应手、无师自通、逍遥自在。下文我们以VScode为例,进行现实场景的模拟。
当我们使用VScode打开一个仓库(带有 .git
文件夹 的文件夹)时,VScode会自动识别到它,并且会提示可以进行源代码管理。进行的文件修改操作都同样会被记录下来。末尾的大写字母代表了修改操作类型
- A: 本地新增的文件
- C: 文件的一个新拷贝
- D: 本地删除的文件
- M: 文件的内容被修改
- R: 文件名被修改了
- T: 文件的类型被修改了
- U: 文件没有被合并
点击右侧的 +
即 git add
此文件,将它放入暂存区。然后点击 √ 提交
进行 git commit
。
系统会跳转至一个文件来编辑 Commit Message。在第一行输入信息即可。完毕后点击右上角的 √
至此,我们已在本地完成了修改的提交,然后正如上文,我们使用 Github Desktop
来将提交的修改 push
至远程仓库,不再赘述。
在 Github.com
的 commit
页面。我们可以看到所有同步至远程仓库的提交信息,亦可查看每次提交的详情。
没啥附录,以后可能会有。但是目前还没有。
Markdown是一种轻量级标记语言,它以纯文本形式编写文档。markdown排版方便、美观,兼容性非常好(几乎完胜word)。
markdown兼容html超文本标记语言,也兼容Latex公式,支持内嵌媒体。目前主流网站框架都支持markdown编写,甚至作为唯一方式。
markdown文件(.md文件)需要一个编译器。目前,VSCode、Cursor等编辑器都支持markdown编译插件,不仅可以做到实时预览,而且能够到处pdf、html等一众格式。
Typora、GoodNote、OneNote和Notion等笔记软件也几乎都支持markdown。
您可以把markdown当成txt使用,直接输入文字即可,得到的效果就是现在您正在阅读的正文部分,没有任何格式。
如果要为文档添加格式,需要用到简单的markdown语法。
如果您对语法还不熟悉,可以先看后一部分(基本语法)
GitHub 的换行,在 Windows 环境下是两个空格+回车
,或直接空一行。单独的一个回车不会渲染为换行。
对于列表、标题来说,只要有前导符号(+ `` - `` * `` #
等),只需要一个回车即可。
- GitHub Markdown 规范建议在中英文转换处加空格,如:你好,这里是 JourneyRightNow !
- 在行内代码的开头结尾,GitHub Markdown 规范也建议加空格:
print("markdown")
- 在括号前建议加空格
- 在emoji前建议加空格
汉学家称这个空格为「盘古之白」,因为它劈开了全角字和半角字之间的混沌。另有研究显示,打字的时候不喜欢在中文和英文之间加空格的人,感情路都走得很辛苦,有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。毕竟爱情跟书写都需要适时地留白。(https://github.com/vinta/pangu.js#readme)
在标题文字前加 # 即可(空格不能省略):
# 这是一级标题
## 这是二级标题
### 这是三级标题
以此类推
使用两个星号表示加粗:
**要加粗的内容**
效果就是: 要加粗的内容
把文字左右分别用一个 * 号包起来:
*倾斜的文字*
效果如下: 倾斜的文字
如果要同时斜体和加粗,则用三个星号即可。
正常换行用回车键即可。但是有时需要连空多行,markdown 只会执行一个换行。这时需要用到
注意是英文的分号,而且这个代码需要单独成行。请注意 GitHub Markdown 标准(见上)的有效换行,“单独成行” 是建立在有效换行的基础上的。
要加删除线的文字左右分别用两个 ~~ 号包起来:
~~要删除的文字~~
效果如下:
要删除的文字
> 这是一级引用
>> 这是二级引用
>>> 这是三级引用
效果如下:
这是一级引用
这是二级引用
这是三级引用
前导 +、-、* 均可。列表分级用 tab。
+ 这是一级列表
+ 这是二级列表
+ 这是三级列表
效果如下:
- 这是一级列表
- 这是二级列表
- 这是三级列表
- 这是二级列表
如果要有编号,则在编号后加点即可:
1. 这是一级列表
2. 这是一级列表
1. 这是二级列表
1. 这是三级列表
效果如下:
- 这是一级列表
- 这是一级列表
- 这是二级列表
- 这是三级列表
- 这是二级列表
|表头|表头|表头|
|---|---|---|
|内容|内容|内容|
|内容|内容|内容|
效果如下:
表头 | 表头 | 表头 |
---|---|---|
内容 | 内容 | 内容 |
内容 | 内容 | 内容 |
如果要内嵌图片视频等,建议直接使用复制粘贴的办法。这要求图片必须是网络图片,或图片与md文档必须位于同一文件夹下。 所以上传时,要把图片或视频也一起上传。
markdown支持内嵌 latex 公式。
所有的 Latex 语法都可见于 https://www.cnblogs.com/1024th/p/11623258.html
如果公式在行内,就用$包起来即可:$f=ma$
如果要求公式单独成行,就要用两个&包起来:
$$ 牛顿第二定律:F=ma $$
效果就是: $$ 牛顿第二定律:F=\frac{\text{d}p}{\text{d}t} $$
三个或者三个以上的 - 或者 * 或者_都可以。
---
***
___
效果就是:
把代码用`包起来:
`print("hello,world)`
效果就是行内代码:print("hello,world)
如果需要代码块,就用三个```包起来:
```python
print("hello,world)
print("\n")
```
在第一个```后加上代码的语言名称,可以实现高亮。
print('hello,world')
print("\n")