diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..25da6e6edbb48b48abe37e611bcf294d8e0d6c32
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.obsidian
\ No newline at end of file
diff --git a/gitlab/.obsidian/app.json b/gitlab/.obsidian/app.json
new file mode 100644
index 0000000000000000000000000000000000000000..9e26dfeeb6e641a33dae4961196235bdb965b21b
--- /dev/null
+++ b/gitlab/.obsidian/app.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/gitlab/.obsidian/appearance.json b/gitlab/.obsidian/appearance.json
new file mode 100644
index 0000000000000000000000000000000000000000..c8c365d89b8b1bad158cba37051fc32cbc784c65
--- /dev/null
+++ b/gitlab/.obsidian/appearance.json
@@ -0,0 +1,3 @@
+{
+  "accentColor": ""
+}
\ No newline at end of file
diff --git a/gitlab/.obsidian/core-plugins-migration.json b/gitlab/.obsidian/core-plugins-migration.json
new file mode 100644
index 0000000000000000000000000000000000000000..436f43cf561e4d8645a8612ddb5b0dee97f2fcc5
--- /dev/null
+++ b/gitlab/.obsidian/core-plugins-migration.json
@@ -0,0 +1,30 @@
+{
+  "file-explorer": true,
+  "global-search": true,
+  "switcher": true,
+  "graph": true,
+  "backlink": true,
+  "canvas": true,
+  "outgoing-link": true,
+  "tag-pane": true,
+  "properties": false,
+  "page-preview": true,
+  "daily-notes": true,
+  "templates": true,
+  "note-composer": true,
+  "command-palette": true,
+  "slash-command": false,
+  "editor-status": true,
+  "bookmarks": true,
+  "markdown-importer": false,
+  "zk-prefixer": false,
+  "random-note": false,
+  "outline": true,
+  "word-count": true,
+  "slides": false,
+  "audio-recorder": false,
+  "workspaces": false,
+  "file-recovery": true,
+  "publish": false,
+  "sync": false
+}
\ No newline at end of file
diff --git a/gitlab/.obsidian/core-plugins.json b/gitlab/.obsidian/core-plugins.json
new file mode 100644
index 0000000000000000000000000000000000000000..9405bfdc224d3e5dfe9fe6116a4fd2955ab10a72
--- /dev/null
+++ b/gitlab/.obsidian/core-plugins.json
@@ -0,0 +1,20 @@
+[
+  "file-explorer",
+  "global-search",
+  "switcher",
+  "graph",
+  "backlink",
+  "canvas",
+  "outgoing-link",
+  "tag-pane",
+  "page-preview",
+  "daily-notes",
+  "templates",
+  "note-composer",
+  "command-palette",
+  "editor-status",
+  "bookmarks",
+  "outline",
+  "word-count",
+  "file-recovery"
+]
\ No newline at end of file
diff --git a/gitlab/.obsidian/workspace.json b/gitlab/.obsidian/workspace.json
new file mode 100644
index 0000000000000000000000000000000000000000..d600a871d79447ac3dc5c163fcc59b11bb3590ab
--- /dev/null
+++ b/gitlab/.obsidian/workspace.json
@@ -0,0 +1,154 @@
+{
+  "main": {
+    "id": "b41d9c1363930a2c",
+    "type": "split",
+    "children": [
+      {
+        "id": "a1d9328f44bdf40e",
+        "type": "tabs",
+        "children": [
+          {
+            "id": "22136feb28e4eae3",
+            "type": "leaf",
+            "state": {
+              "type": "markdown",
+              "state": {
+                "file": "OSgitlab.md",
+                "mode": "source",
+                "source": false
+              }
+            }
+          }
+        ]
+      }
+    ],
+    "direction": "vertical"
+  },
+  "left": {
+    "id": "691f3174bb1362ea",
+    "type": "split",
+    "children": [
+      {
+        "id": "2148bf341795ffb5",
+        "type": "tabs",
+        "children": [
+          {
+            "id": "dbdc1620d523b865",
+            "type": "leaf",
+            "state": {
+              "type": "file-explorer",
+              "state": {
+                "sortOrder": "alphabetical"
+              }
+            }
+          },
+          {
+            "id": "5fe0383b33ce76d6",
+            "type": "leaf",
+            "state": {
+              "type": "search",
+              "state": {
+                "query": "",
+                "matchingCase": false,
+                "explainSearch": false,
+                "collapseAll": false,
+                "extraContext": false,
+                "sortOrder": "alphabetical"
+              }
+            }
+          },
+          {
+            "id": "1fca2d48d38a956e",
+            "type": "leaf",
+            "state": {
+              "type": "bookmarks",
+              "state": {}
+            }
+          }
+        ]
+      }
+    ],
+    "direction": "horizontal",
+    "width": 300
+  },
+  "right": {
+    "id": "f489c76ce1ea4688",
+    "type": "split",
+    "children": [
+      {
+        "id": "8d59968d5c723ddf",
+        "type": "tabs",
+        "children": [
+          {
+            "id": "1def813269dbeb0c",
+            "type": "leaf",
+            "state": {
+              "type": "backlink",
+              "state": {
+                "file": "OSgitlab.md",
+                "collapseAll": false,
+                "extraContext": false,
+                "sortOrder": "alphabetical",
+                "showSearch": false,
+                "searchQuery": "",
+                "backlinkCollapsed": false,
+                "unlinkedCollapsed": true
+              }
+            }
+          },
+          {
+            "id": "ce9bc562b8f61690",
+            "type": "leaf",
+            "state": {
+              "type": "outgoing-link",
+              "state": {
+                "file": "OSgitlab.md",
+                "linksCollapsed": false,
+                "unlinkedCollapsed": true
+              }
+            }
+          },
+          {
+            "id": "ba7261c01ef3df12",
+            "type": "leaf",
+            "state": {
+              "type": "tag",
+              "state": {
+                "sortOrder": "frequency",
+                "useHierarchy": true
+              }
+            }
+          },
+          {
+            "id": "1224628b9873d982",
+            "type": "leaf",
+            "state": {
+              "type": "outline",
+              "state": {
+                "file": "OSgitlab.md"
+              }
+            }
+          }
+        ]
+      }
+    ],
+    "direction": "horizontal",
+    "width": 300,
+    "collapsed": true
+  },
+  "left-ribbon": {
+    "hiddenItems": {
+      "switcher:打开快速切换": false,
+      "graph:查看关系图谱": false,
+      "canvas:新建白板": false,
+      "daily-notes:打开/创建今天的日记": false,
+      "templates:插入模板": false,
+      "command-palette:打开命令面板": false
+    }
+  },
+  "active": "22136feb28e4eae3",
+  "lastOpenFiles": [
+    "pictures/sign_in.png",
+    "OSgitlab.md"
+  ]
+}
\ No newline at end of file
diff --git a/gitlab/OSgitlab.md b/gitlab/OSgitlab.md
new file mode 100644
index 0000000000000000000000000000000000000000..82e406129bf7d31e29c83c913da043f809e55f02
--- /dev/null
+++ b/gitlab/OSgitlab.md
@@ -0,0 +1,30 @@
+# 创建个人账号
+登录[希冀:信息类专业一体化支撑平台 (educg.net)](https://course.educg.net/sv2/indexexp/contest/index.jsp)注册个人账号
+用户名:要与本人特色有关(方便查看提交信息),能区分是谁提交即可
+邮箱:当前在用邮箱即可
+![](./pictures/sign_in.png)
+# 将个人账号添加到比赛项目中
+提供用户名,交给陈润隆来完成
+# 登录个人gitlab账号
+[gitlab](https://gitlab.eduxiji.net/)
+输入个人用户名和密码
+# gitlab汉化
+先进入gitlab主页,点击“我”
+![](./pictures/1.png)
+点击Edit profile
+![](./pictures/2.png)
+点击Preferences
+![](./pictures/3.png)
+下翻找到Localization
+![](./pictures/4.png)
+修改Language
+并点击Save changes保存
+最后刷新以下网页
+# 上传
+方式多种多样
+但要以自己的账号上传,尽量不用队伍账号修改项目
+1. 在gitlab网页手动上传
+2. 命令行git上传
+这个地方要注意配置用户信息
+3. 第三方工具托管上传
+
diff --git a/gitlab/pictures/1.png b/gitlab/pictures/1.png
new file mode 100644
index 0000000000000000000000000000000000000000..843f73c6168f47fd132d757ca03a1e1c9499682d
Binary files /dev/null and b/gitlab/pictures/1.png differ
diff --git a/gitlab/pictures/2.png b/gitlab/pictures/2.png
new file mode 100644
index 0000000000000000000000000000000000000000..50e9b65303bc247a350c4a00334ae0ae12371e6f
Binary files /dev/null and b/gitlab/pictures/2.png differ
diff --git a/gitlab/pictures/3.png b/gitlab/pictures/3.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd4d4a63604bf67f1d4c03abda8e107e305d957d
Binary files /dev/null and b/gitlab/pictures/3.png differ
diff --git a/gitlab/pictures/4.png b/gitlab/pictures/4.png
new file mode 100644
index 0000000000000000000000000000000000000000..2dbc62a791a90a9fda8e1fa6c35ab434a9a02d75
Binary files /dev/null and b/gitlab/pictures/4.png differ
diff --git a/gitlab/pictures/5.png b/gitlab/pictures/5.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce85c23921b7a54ce8c4eb3f108d438cb48841ba
Binary files /dev/null and b/gitlab/pictures/5.png differ
diff --git a/gitlab/pictures/6.png b/gitlab/pictures/6.png
new file mode 100644
index 0000000000000000000000000000000000000000..c5f6599aa9cc4cbcc9c9b19663eace8265849ed2
Binary files /dev/null and b/gitlab/pictures/6.png differ
diff --git a/gitlab/pictures/7.png b/gitlab/pictures/7.png
new file mode 100644
index 0000000000000000000000000000000000000000..50cb56871a56eeba747c09591c80553ecf291776
Binary files /dev/null and b/gitlab/pictures/7.png differ
diff --git a/gitlab/pictures/sign_in.png b/gitlab/pictures/sign_in.png
new file mode 100644
index 0000000000000000000000000000000000000000..94c769c0aa6e24607098149d7838ff2f1c33b511
Binary files /dev/null and b/gitlab/pictures/sign_in.png differ