Git使用笔记
Git的下载与安装
根据需要安装即可,如遇英文界面,可使用截屏翻译辅助理解。
安装完成后,会有以下三个环境:
- Git bash:Unix与Linux风格的命令行,推荐使用。
- Git CMD:Windows风格命令行。
- Git GUI:图形界面的Git,不推荐新手使用,建议先熟悉命令行操作。
常用的Linux命令

Git工作区域(运行原理)
工作区——暂存区——本地库——远程库

Git文件的四种状态
版本控制的核心是对文件的版本进行管理。在进行文件的修改和提交等操作前,首先需要了解文件当前的状态。
- Untracked:未跟踪状态,文件存在于文件夹中,但尚未提交到Git库,不参与版本控制。通过
git add命令可将其转变为staged状态。 - Unmodify:已入库且未修改状态,即库中的文件与文件夹中的内容完全一致。若被修改,则变为Modified状态。使用
git rm移除版本库,变为Untracked状态。 - Modified:已修改状态,文件已被修改,但尚未进行其他操作。有两种处理方式:通过
git add进入暂存区staged状态;通过git checkout丢弃修改,变回Unmodify状态。 - staged:暂存状态,使用
git commit将修改同步到库中,此时库文件和本地文件一致,文件变为Unmodify状态。使用git reset HEAD filename可取消暂存,文件变为Modified状态。
Git的使用
创建及提交
1 | $ git init # 初始化,会新建一个名为.git的隐藏文件 |
常用命令
1 | git pull origin master # 下载代码及快速合并 |
忽略文件(指定某些文件不提交)
有时我们不想将某些文件纳入版本控制中,如数据库文件、临时文件、设计文件等。
在主目录下新建.gitignore文件,此文件遵循以下规则:
1 | # 为注释 |
报错及解决方法
本地远程冲突
- 报错:```
1 | ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to '<https://gitee.com/maohuifei/WebSiteTest.git'> |
- 原因:他人上传至远程仓库后,未及时同步(拉取)至本地,同时你又添加了一些内容(提交),导致提交时检测到本地仓库状态与远程仓库不一致,出于安全考虑拒绝提交。
- 解决方法:
- 先拉取:
git pull --rebase origin master, - 再上传:
git push -u origin master。
其他
Gitee/Github的免密码登录
- Gitee:https://gitee.com/
- Github:https://github.com/
进入C:\Users\用户名\.ssh目录,使用Git Bash输入命令ssh-keygen -t rsa生成公钥。
生成两个文件:id_rsa.pub(公钥)和id_rsa(私钥)。
登录Gitee/Github,进入“设置”——“SSH公钥”——填写id_rsa.pub文件内容——保存。
Git使用代理网络问题
配置Git代理:
1 | git config --global https.proxy http://127.0.0.1:1080 |
Git配置文件路径
Git配置文件
GIt安装目录下的etc文件夹里的gitconfig文件。路径示例:F:\Git\etc\gitconfig。
内容示例:
1 | [diff "astextplain"] |
全局配置文件
C盘用户目录下的.gitconfig文件。路径示例:C:\Users\用户名\.gitconfig。
内容示例:
1 | [user] |
新建的.git配置文件
执行git init后,