Git使用教程
小胡
Git使用教程
Git的衍生操作
- 📄 Git自动同步1
一、Git 安装
-
Windows
访问 Git 官网,下载安装包,默认选项安装即可。
安装完成后,打开命令行(CMD/PowerShell/Git Bash)输入git --version 验证是否成功。 -
Linux
- Debian/Ubuntu:
sudo apt-get install git - CentOS:
sudo yum install git
- Debian/Ubuntu:
二、配置 Git
首次使用需配置用户名和邮箱:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
查看配置信息:
git config --list
三、基础操作
-
初始化仓库
在项目目录中执行:git init -
添加文件到暂存区
git add 文件名 # 添加单个文件 git add . # 添加所有修改的文件 git add *.txt # 添加所有 txt 文件 -
提交更改
git commit -m "提交说明" -
查看状态
git status # 显示未跟踪/已修改的文件 git status -s # 简洁模式 -
查看提交历史
git log # 详细日志 git log --oneline # 单行显示
四、分支管理
-
创建分支
git branch 分支名 -
切换分支
git checkout 分支名 git switch 分支名 # Git 2.23+ 推荐方式 -
创建并切换分支
git checkout -b 分支名 -
合并分支
切换到目标分支(如main),然后执行:git merge 分支名 -
删除分支
git branch -d 分支名 # 安全删除(已合并的分支) git branch -D 分支名 # 强制删除(未合并的分支) -
解决冲突
当合并发生冲突时:- 手动编辑文件中的冲突标记(
<<<<<<< 到>>>>>>>) - 解决后执行
git add 文件名 和git commit
- 手动编辑文件中的冲突标记(
五、远程仓库(以 GitHub 为例)
-
关联远程仓库
git remote add origin 仓库URL -
推送代码
git push -u origin 分支名 # 首次推送需要 -u git push # 后续推送 -
克隆仓库
git clone 仓库URL -
拉取更新
git pull origin 分支名 -
查看远程仓库
git remote -v
六、高级技巧
-
暂存修改
临时保存未完成的修改:git stash # 保存 git stash pop # 恢复 -
撤销操作
-
撤销未提交的修改:
git checkout -- 文件名 -
撤销暂存区的文件:
git reset HEAD 文件名 -
修改最后一次提交:
git commit --amend
-
-
标签管理
git tag v1.0.0 # 创建标签 git push origin v1.0.0 # 推送标签 git tag -d v1.0.0 # 删除本地标签 -
忽略文件
创建.gitignore 文件,列出需要忽略的文件/文件夹*.log node_modules/ .env
七、常见问题
-
提交到了错误的分支
git reset HEAD~1 # 撤销最后一次提交 git checkout 正确分支名 # 切换到正确分支 git cherry-pick 提交ID # 将提交应用到正确分支 -
忘记提交某些文件
git add 遗漏文件 git commit --amend # 合并到上一次提交 -
强制推送(慎用!)
git push -f origin 分支名 # 覆盖远程提交历史
八、学习资源
- 官方文档:Git Book
- 图形化工具:GitKraken、SourceTree
- 练习平台:Learn Git Branching
-
Git自动同步
Git 本身没有内置的定时自动推送功能,但可以通过操作系统的定时任务工具(如
cron(Linux/macOS)或 任务计划程序(Windows))来实现定时推送。以下是实现方法:
方法 1:使用
cron(Linux/macOS)-
编写推送脚本
创建一个脚本(如git-auto-push.sh),内容如下:#!/bin/bash cd /path/to/your/git/repository # 替换为你的仓库路径 git add . git commit -m "Auto-commit: $(date)" # 自动生成提交信息 git push origin main # 替换为你的分支名(如 main/master)赋予脚本执行权限:
chmod +x git-auto-push.sh -
设置
cron 定时任务
执行crontab -e 编辑定时任务,添加一行:0 2 * * * /path/to/git-auto-push.sh # 每天凌晨 2 点执行- 时间格式为:
分钟 小时 日 月 周 命令
- 时间格式为:
方法 2:使用任务计划程序(Windows)
-
编写推送脚本
创建一个批处理文件(如git-auto-push.bat),内容如下:@echo off cd C:\Users\11433\Documents\siyuan echo ===pushing[%date%-%time%]=== >> git_siyuan.log 2>&1 git add . >> git_siyuan.log 2>&1 git commit -m "Auto sync %date% %time%" >> git_siyuan.log 2>&1 git push origin main >> git_siyuan.log 2>&1 echo ===pushed[%date%-%time%]=== >> git_siyuan.log 2>&1 -
配置任务计划程序
- 打开 任务计划程序 → 创建新任务。
- 设置触发器(如每天固定时间)。
- 在操作中选择运行
git-auto-push.bat。
注意事项
-
凭证存储
确保已配置 Git 的凭证存储(如 SSH 密钥或git config credential.helper store),避免每次推送需手动输入账号密码。 -
冲突风险
自动推送前建议先拉取远程更新(git pull),避免因本地与远程冲突导致推送失败。 -
日志记录
可在脚本中添加日志记录,方便排查问题:git push origin main >> /path/to/push.log 2>&1
通过上述方法,即可实现 Git 仓库的定时自动推送。
↩︎
-