目前我常用的git操作流程
1. 初始化项目为 Git 仓库#
1.1 在 GitHub 新建仓库#
登录 GitHub,点击右上角 + → New repository,填写仓库名称和描述.
1.2 本地初始化#
在终端(PowerShell)进入项目目录,执行以下命令:
1# 依次执行:
2git init
3git config user.name "YOUR NAME" # 你的 GitHub 用户名
4git config user.email "YOUR EMAIL" # 建议使用 GitHub 提供的隐私邮箱(见 Settings → Emails)
5git remote add origin https://github.com/YOUR_NAME/YOUR_REPO_NAME.git注意:GitHub 提供隐私邮箱格式
ID+username@users.noreply.github.com,可有效避免垃圾邮件。
2. 日常更新备份仓库#
每次在本地完成新的工作并测试无误后,执行以下流程:
2.1 确认同步状态#
首先在终端进入项目目录,执行 git fetch && git status:(先拉取github 防止多设备提交时漏掉状态不一致)
| 输出 | 含义 | 操作 |
|---|---|---|
up to date with 'origin/master' | 本地与仓库同步 | 无需操作 |
behind 'origin/master' by X commit | 本地落后于仓库 | 执行 git pull |
ahead of 'origin/master' by X commit | 本地有新内容 | 照常执行 git push |
2.2 更新仓库#
方式一:一次性提交(推荐)
1git add .
2git commit -m "Details of new contents"
3git push origin master/main
4git status # 最后再检查同步状态方式二:分批提交(可看到不同文件的提交记录)
1git add filename1/
2git commit -m "Details_1"
3git add filename2/
4git commit -m "Details_2"
5# 最后统一进行 git push
6git push origin master/main
7# 这样就能在 GitHub 上看到对每个文件不同的提交信息了
8git status仅初次提交时可用
git push -u origin master -f避免不必要的麻烦。
3. 出错回滚特定版本#
3.1 已经将错误版本提交至 GitHub#
查看提交历史:
1git log --oneline回退操作:
- 回退到最新(上一个)提交:
git reset --hard HEAD~1 - 回退到指定提交:
git reset --hard <commit-id>
回滚后都需要强制推送覆盖远程:
1git push -f origin master/main3.2 还未将错误版本提交至 GitHub#
执行以下命令清除本地错误修改:
1git reset --hard HEAD && git clean -fd然后重新进行正确的工作和代码提交。
3.3 回滚个别文件#
将某个文件或目录回滚到指定版本的状态(仅修改工作区,不影响提交历史):
1git checkout <commit-id> -- FILENAME4. Remote 与 .gitignore#
4.1 Git Remote#
⚠️ 仓库改名后:在 GitHub 上 rename 了仓库后,本地
git remote -v还是旧地址,push 前记得先改:
1git remote set-url origin YOUR_NEW_URL.git4.2 .gitignore 使用#
被 .gitignore 的文件在本地会变化,但提交时不会上传。
创建(Windows:新建文本文件后把后缀也删掉):
1.obsidian/workspace.json
2config/secret.json
3.venv/
4*.log忽略已跟踪的文件:gitignore 只能忽略未被跟踪的文件,已跟踪的需先移除缓存:
1git rm --cached config/secret.json
2git add .gitignore
3git commit -m "Ignore config files"