Skip to content

GowayLee/JourneyRightNow

Repository files navigation

家人们快来更新旅游攻略吧,万一有一天真能一起出去玩呢🥰
在一切开始之前,请先阅读这份指南🤤

关于JourneyRightNow 🚀

JourneyRightNow是一个公开的(到目前为止)共享文档,供大家上传旅行记录、推荐旅行路线以及查阅攻略。

旅游路线推荐文件夹下,每一个文件都是一条推荐的旅游路线。当然这个文件夹下也欢迎单纯推荐景点(而不能组成一条完整可行的路线)。Every step counts!

旅游攻略文件夹下,您可以提交旅游攻略和旅游经历。由于有些攻略或经历会携带照片,为整齐起见,每一份攻略都单独成一个文件夹。

饭店推荐.md文件,您可以向其中提交您推荐或不推荐的餐馆。格式已经附在文件中了,请按照格式编辑。

 

提交提醒

  • 如果您是我们的一员,您有权限直接提交(commit)这份文档的修改稿(可以直接在线编辑),或者git clone至本地后修改提交。请注意,每次提交时的备注必须是您的署名!这有助于一目了然看出每个文档的作者。如果您一定要在备注里写其他内容,务必在文档文件名里署名。如果您提交了错误的版本,您可以在github上回退文档版本。

  • 如果您不是我们的一员,那么我们更推荐您只是阅读这些文档(当然,我们欢迎您的到访)。如果您觉得有必要添加一些修改,请您严格按照格式撰写,并提出pull request。感谢您的配合,并希望这份文档能帮助你获得更好的旅行体验。

  • 在提交时,请留下您的名字。最好的办法是在文件名里和文件内部同时署名,例如在文件名末尾加上(by xxx),以及在文档内部标题里加上(by xxx)。不过您也可以选择您自己的署名风格。在完成上述署名后,提交的commit message以及备注可以随意,您可以写上您提交的新改动等。

 

提交步骤 (By Goway Lee😽)

在线提交

您可以直接在GitHub上编辑文档内容(点击✏符号)、创建新文档(new)、上传文件。这是一种十分便捷常用的方法,适用于小规模编辑。

如果您希望移动文件、创建文件夹、删除文件等,就必须将仓库本地化操作,下面的教程将教你怎么做。
 

安装Git

前往 http://git-scm.com 下载git的安装包

在运行时注意该选项选择Visual Studio Code 这将方便后续的文本编辑(如果没有VSCode,也可以选择用默认的Vim)

其余选项均为默认,一路左键。

安装完成后,选择一个空文件夹并右键,会有 Open Git GUI here & Open Git Bash here 的选项,我们一般选用 Open Git Bash here ,下文也以此为

 

安装Github桌面端

由于使用命令行工具(Powershell、Git Bash等)时,梯子无法为它们提供代理服务,所以会导致出现无法从本地连接到远程仓库的问题

所以我们需要下载Github Desktop

在该软件内,可以使用梯子稳定访问远程仓库。

 

GitHub主要操作

  • 创建一个本地 Repository(仓库) 或者 Remote Clone an Existing Repository from Remote

    首先我们需要设置 user.name and user.email,如下图,用git config --global指令来设置。

    • 如果我们希望在本地创建一个Repository(可以理解为一个由git来掌管的文件夹,内含一个隐藏文件夹.git


    我们使用git init 命令来使当前文件夹成为一个新的Repository (因为我已经创建过Repository了所以图中报错了)

    • 如果我们希望将Remote(远程仓库)如:Github、Gitlab等中的内容复制到本地,以便本地编辑,我们先获取远程仓库的URL

    然后使用git clone URL 命令将URL所指的远程仓库克隆至本地,系统会创建一个名为仓库名的文件夹(克隆时需挂梯子)。

  • Add & Commit 操作

    现在,我们将于本地开始使用该仓库, 我们创建一个 File.txt 作为例子。


    我们可以使用 git status 命令来查询工作区的状态(有无文件被修改,修改操作的概要,有无文件被同步等等)

    这里显示该仓库中有一个“未被追踪的文件” Untracked file --- File.txt (意指文件被修改但是该修改没有被暂存并且没有被提交)

    使用 git add File.txt 命令来将文件的修改操作移动至暂存区(“暂存区”概念与“工作区”相对,修改操作只有在移动至暂存区后才可以被Commit提交)

    然后使用 git commit 命令来提交所有处于暂存区的修改操作。

    在这一步,系统会自动打开一个编辑器(Powershell、VScode等)来让我们编辑 Commit Message 提交信息(通常包含了对于修改操作的概括与解释). 此处我们的提交信息是 "Add 'Version1' " 编辑完毕后点击右上角的

  • Create New Branches and Merge 创建新的分支以及合并

    使用 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 合并冲突。比较复杂,这里不做解释。

  • Ignore 操作

    如果我们不希望git追踪某些文件, 我们可以在工作区使用 touch .gitignore 命令来创建一个 .gitIgnore 文件


    然后我们将我们希望不被追踪的文件的文件名输入保存在.gitIgnore 文件中。

    使用 git status 命令,w我们发现 ignoreMe!. txt 现在已经不再被追踪了。注意:在不被追踪的文件之中的任何修改操作都不会被git记录,所以需要谨慎对待)


  • Log 操作

    我们可以使用 git log 命令来查看该仓库之中所有的历史Commit信息。

  • fetch & pull 操作

    有时他人编辑了仓库内的文件并将其同步( push 操作,下文会进行讲解)至远程仓库,我们可以先使用 fetch 操作来获取新增的修改操作。(由于上文提到的网络问题,所以在这里我们使用Github Desktop。)然后再使用 pull 操作来拉取哪些修改后的文件。在此之后,所有的最新版文件都将被从远程同步至本地。

    fetchpull 的区别:

    • fetch 只是获取远程仓库中相较于本地所新增的修改操作,在 fetch 完毕后会列出表格提示用户,但并不会直接对工作区的文件进行修改。
    • pull 则是将 fetch 到的所有新增操作全部应用于本地工作区,会导致本地文件的增删修改。有一定风险,需要在仔细思考后再进行 pull ,不然可能出现自己正在编辑的文件被他人的修改顶替的事故1。 1:出现这种事故时,Git会报告错误,并且停止 pull ,提示用户可以跳转至文件编辑器(一般是VScode)来比较本地与远程产生冲突的两个版本,并且决定保留哪一个,或者是全部保留。
  • push 操作

    无论在仓库内进行何种文件修改操作(创建、删除、修改等),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.comcommit 页面。我们可以看到所有同步至远程仓库的提交信息,亦可查看每次提交的详情。


附录

没啥附录,以后可能会有。但是目前还没有。

 

Markdown指南 (by wzh)

Markdown是一种轻量级标记语言,它以纯文本形式编写文档。markdown排版方便、美观,兼容性非常好(几乎完胜word)。

绝佳的兼容性

markdown兼容html超文本标记语言,也兼容Latex公式,支持内嵌媒体。目前主流网站框架都支持markdown编写,甚至作为唯一方式。

markdown文件(.md文件)需要一个编译器。目前,VSCode、Cursor等编辑器都支持markdown编译插件,不仅可以做到实时预览,而且能够到处pdf、html等一众格式。

Typora、GoodNote、OneNote和Notion等笔记软件也几乎都支持markdown。

 

纯文本编辑

您可以把markdown当成txt使用,直接输入文字即可,得到的效果就是现在您正在阅读的正文部分,没有任何格式。

如果要为文档添加格式,需要用到简单的markdown语法。

 

GitHub 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. 这是三级列表

效果如下:

  1. 这是一级列表
  2. 这是一级列表
    1. 这是二级列表
      1. 这是三级列表

 

表格

|表头|表头|表头|
|---|---|---|
|内容|内容|内容|
|内容|内容|内容|

效果如下:

表头 表头 表头
内容 内容 内容
内容 内容 内容

 

内嵌媒体

如果要内嵌图片视频等,建议直接使用复制粘贴的办法。这要求图片必须是网络图片,或图片与md文档必须位于同一文件夹下。 所以上传时,要把图片或视频也一起上传。

 

Latex公式

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")

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published