Git
Git安装¶
首先cmd打开终端输入
where git
判断一下系统有无安装git 没有的话去官网安装即可 Redirecting… 安装过程~还挺麻烦的~ 可以一步步问AI该选择哪些选项......
网站选择¶
首选Github
也可以先用国内的Gitee练手
仓库创建¶
以下操作在github/gitee内进行.
- 初始化仓库:
(1)选择语言:
按需或不选,主要是给仓库打上一个“主要编程语言”的标签
(2)添加.gitigore:
一般推荐添加,用于告诉git哪些文件不需要管理
(3)添加开源许可证:
一般选择
MIT-license(开源) (以上内容后期应该都是可以再添加的,可以先不选) - 设置模板:
(1)
readme文件: 仓库的门面和说明书,按需选择,后期可再添加 (2)issue模板文件: 便于别人给你的仓库提交bug或功能建议 (3)pull request模板文件: 当别人想为你贡献代码时用这个模板来请求 - 选择模型分支: 可以先默认选择“main”或“master”分支
本地文件上传¶
本地已有仓库 将其上传github 利于备份和版本管理;
适合个人项目;
即先本地建立文件 再上传; 不过一般是先创建仓库再clone到本地进行开发; 注:选择本地已有的文件上传时 新建仓库不要勾选readme和license 因为会导致仓库和本地的初始化内容不统一; 如果已经勾选了 建议之后使用强制推送,使用本地内容覆盖仓库;
#首先在github新建仓库
#再在文件资源管理器中进入所需上传的文件
#然后右键文件空余处,点击在终端中打开
#然后确保终端中显示的目录就是当前想要上传的文件,then:
git init
#个人开发者的话可以用global全局设置 即所有项目用同一个身份
git config user.name "你的用户名"
git config user.email "你的邮箱@example.com"
#以下具体内容在gitee中复制即可
git remote add origin https://gitee.com/你的用户名/仓库名.git
#上传
git add .
git commit -m "初始提交:上传项目文件"
git push -u origin master -f #"强制推送(只在个人仓库初始化时使用)"
#注意,上传github最好别用master分支,要用main
#git push --force-with-lease适合多人开发时使用,防止覆盖他人提交
push前最好git branch查看当前所在分支以及所有本地分支,避免推送到其他分支上,当前所在分支会在前面显示*符号
如果分支不匹配,用git branch -M main移动到正确分支上
关于获取自己github邮箱:
点击头像->settings->email;
后续在本地编辑更新完项目后 再更新上传到git:
git add .
git commit -m "更新内容给介绍"
git push
后期git配置状态检查:
git config --list
#或者
git config --global --list
同步本地和仓库¶
首先进入本地对应文件 在此打开终端:
git fetch origin#获取远程最新状态(安全,不合并本地文件)
git status#查看本地与远程差异
git diff#查看具体文件内容差异
git status后的几种可能状态:
up to date with 'origin/master'---已同步,无需操作behind 'origin/master' by X commit---本地落后,执行git pullahead of 'origin/master' by X commit---本地领先,执行git push
GitCommit优化¶
通常每次
git commit只能有一个提交信息,这个信息会附加到整个提交上,而不是单个文件夹或文件上,以下尝试优化
- 推荐办法:
每次想要提交前,先
git status;(也可结合git diff) 查看当前哪些文件需要被提交; 然后依次:
bash
git add filename1/
git commmit -m "该文件的修改内容"
git add filename2/
git commit -m "该文件修改内容"
#最后统一进行git push
git push origin
#这样就能在github上看到对每个文件不同的提交信息了
.Gitignore¶
被gitignore的文件,在本地依然会随着修改而变化,但每次提交不会被上传到github,即只在本地变化;
- 创建
.gitignore文件: 在根目录右键新建文本文件-将整个文件重命名为.gitignore(后缀也要一起删掉!) 在文件内写入需要忽略的文件的路径,比如.obsidian/workspace.json,这样该文件就会被忽略,不会被同步到仓库;
检查:
#输入
ls .gitignore*
#理想输出类似
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2026/4/18 13:36 109 .gitignore
#若输出文件名显示".gitignore.txt" 那是不正确的
- 使用
.gitignore: 先提交更新后的.gitignore文件至github; 然后通过git status检查是否有已经被GIT跟踪但是需要ignore的文件;
⚠️.gitignore 只能忽略未被跟踪的文件,如果文件已经被 Git 跟踪过,需要先 git rm --cached 再忽略;
所以如果有,通过git rm --cached config/secret.json让git忽略这个文文件,之后就可以正常add-commit-push了;
Git多分支page部署¶
添加.github/workflow/deploy/yml文件(创建github Actions)
修改仓库page部署分支为gh-pages
多平台同步¶
首先进入本地需要同步的文件夹,右键在终端中打开; (后续操作均需在此环境下进行)
git remote -v#查看当前文件夹关联的所有远程仓库
需要将同一本地文件同步到不同远程仓库时,建议使用相同的仓库名(仓库名即为-v后显示的“仓库名.git”)在平台先建立相同名称的仓库,不要设置readme等文件; 以下以已经同步到gitee的文件,再同步到github为例:
git remote add github https://github.com/用户名/仓库名.git
然后根据分支名推送:
git push github master
最后再用git remote -v检查一下,应该会多出origin之外的仓库;
后续更新时,用以下命令推送到两个仓库:
git add .
git commit -m "内容"
git push origin master#第一个一般都为origin吧
git push github master
后期若要定期检查本地和两个仓库同步状态:
git status#仅用来检查本地和origin的同步状态
(up to date 就说明本地和origin是正确同步的);
git fetch --all#用来检查三方是否都正确同步,以下一步步执行
git log --oneline HEAD#本地最新提交
git log --oneline origin/master#gitee最新提交
git log --oneline github/master#github最新提交



检查三个输出内容是否相同即可;
details¶
- GIT REMOTE
若在github上
rename了仓库名称下一次在本地git add-commit-push之前记得先检查git remote -v,应该还是旧仓库的地址.因此推荐先配置git remote set-url origin YOUR_NEW_URL.git后再提交代码;
Wrong1¶
wrong:
由于在gitee上给仓库添加了license文件;
此时仓库有license文件 但本地并没有;
and 我并未记得;
直接更新了新的本地内容;
于是乎:

在进行git push时出现报错;
处理方法:
git pull origin master#拉取远程仓库的变化更新文件,并合并到本地
此时终端可能会进入另一个界面,叫做"vim编辑器";
此时要先按一下Esc键,再输入:wq,最后按一下Enter 应该就会恢复正常了;
最后再输入:
git push origin master
#或者这里直接用git push更好