配置信息
# 查看所有的全局配置
git config --list --global
# 配置指定的全局配置
# 用户名
git config user.name 'Your Name'
# 邮箱
git config user.email 'Your Email'
初始化仓库
git init
检查文件的状态
git status
# 以精简的方式显示文件状态
git status -s
# 或者
git status --short
添加暂存区
# 将当前目录及其子目录下所有变更添加到暂存区
git add .
# 将本地库所有变更添加到暂存区
git add -A
# 指定文件添加暂存区
git add file1 file2
提交更新
git commit
# 附加变更信息
git commit -m '日志信息'
# 指定文件
git commit -m '日志信息' fileName
比较差异
git diff
# 指定文件
git diff fileName
# 比较两个分支指定文件的差异
git diff 分支1 分支2 fileName
取消暂存的文件
git reset HEAD fileName
移除文件
# 仓库和工作区同时移除 index.js
git rm -f index.js
# 只从 Git 仓库中移除指定的文件 index.css
git rm --cached index.css
忽略文件
创建一个名为 .gitignore 的配置文件,列出要忽略的文件的匹配模式
# 忽略所有 .a 文件
*.a
# 跟踪所有 lib.a 文件 ,即使你在前面忽略了 .a 文件
!lib.a
# 忽略当前目录下的 TODO 文件
/TODO
# 忽略所有目录下的 build 文件
bulid/
# 忽略 doc目录下的 .txt文件,二级目录里的不忽略
doc/*.txt
查看提交历史
# 所有提交历史
git log
# 显示最新2条提交
git log -2
# 以图形形式展示版本历史
git log --graph
# 指定文件查看
git log fileName
# 查看指定文件每一行修改对应的 commit 记录和作者
git blame fileName
回退到指定的版本
# 在一行显示所有提交历史
git log --pretty=oneline
# 使用根据指定提交 ID 回退
git reset --hard <CommitID>
# 旧版本-> 新版本
git reflog --pretty=online
git reset --hard <CommitID>
创建分支
git branch 新分支
# 基于指定分支创建分支
git branch 新分支 已有分支
# 基于某个 commit 创建分支
git branch 新分支 commitID
# 基于当前分支创建分支并切换到新分支
git checkout -b 新分支
查看本地分支
git branch -v
删除分支
git branch -d 分支
# 强制删除本地分支
git branch -D 分支
切换分支
git checkout 分支名
合并分支
# 将 A 分支合并到当前分支,且为 merge 创建 commit
git merge A
# 将 A 分支合并到 B 分支,且为 merge 创建 commit
git merge A B
# 把当前分⽀基于 B 分⽀做 rebase,以便把 B 分⽀合⼊到当前分⽀
git rebase B
# 把 A 分⽀基于 B 分⽀做 rebase,以便把 B 分⽀合⼊到 A 分⽀
git rebase B A
远程仓库
第一次将本地分支推送到远程仓库
git push -U 远程仓库的别名 本地分支名称:远程仓库名称
# 实例
git push -U origin payment:pay
# 希望分支名称一样可简化
git push -U origin payment
第一次推送分支需要带-u 参数,此后可以直接使用git push 推送代码到远程分支
强制推送
git push --force origin master
查看远程仓库中所有的分支列表
git remote show 远程仓库名称
跟踪分支
跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中
git checkout 远程分支名称
# 重命名
git checkout -b 本地分支名称 远程仓库名称/远程分支名称
拉取远程分支
git pull
删除远程分支
git push 远程仓库名称 --delete 远程分支名称
代理
解决方法: window10 打开设置–网络–代理,查看目前的端口:
![image-20220816224548008](https://picgo-fantasy06.oss-cn-guangzhou.aliyuncs.com/img/image-20220816224548008.png)
给 git 设置代理 ,如代理端口号为7890,则git设置代理为:
git config --global http.proxy '127.0.0.1:7890'
git config --global https.proxy '127.0.0.1:7890'
查看代理信息
git config --global --get http.proxy
git config --global --get https.proxy
取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy