一:相关资源请查看原文 git简明教程以及资源分享 | 云隙拾笺
- git绿色版win
- 安卓git客户端 mgit
概述
Git 诞生于 2005 年,最初为 Linux 内核开发打造,是一款分布式版本控制系统。它可以完整留存代码的每一次修改记录,通过分支实现并行开发,让多人协同、版本回滚与变更追溯变得简单可靠,是现代软件开发最基础的协作工具
是什么: 分布式版本控制系统(版本库)
核心作用: 版本管理,多人协作
如何实现:对文件进行状态区分,仓库和远程互相同步
安装
windows平台推荐直接下载绿色版安装包,解压,然后将解压目录添加到环境变量即可
使用命令查看是否安装成功:
git --version
macOS
Homebrew推荐
brew install git
Linux(以Ubuntu/Debian为例)
sudo apt update
sudo apt install git
工作流程
相关概念的理解:
- 工作区:你电脑上正在编辑的项目文件夹,就是肉眼能直接看到、修改文件的地方。
- 暂存区:临时收纳盒,挑选好要保存的改动,先放到这里,准备一次性存入版本库。
- 本地仓库:存在你电脑里的版本历史档案室,存放所有提交过的代码快照与变更记录。
- 远程仓库:放在云端 / 服务器上的共享档案室,用来备份代码,方便团队多人同步协作。
工作流程如下图所示:

文件的状态
- 已忽略 通过.gitignore文件配置。这些文件不会出现在Git的状态输出中,Git也不会尝试跟踪它们的修改
- 未跟踪 git还没有管理的文件,可能是新创建的文件
- 已修改 跟踪文件被修改(即和本地仓库文件不同),且不在暂存区
- 已暂存 将已修改或者未跟踪文件提交到暂存区,将暂存区提交到仓库,到状态5
- 未修改/已提交 跟踪文件和本地仓库相同
常用命令
git配置
git config --global --list # 查看配置
git config --global user.name "你的用户名" # 全局配置用户名和邮箱,作用是标识提交者,全局配置对所有仓库都有效
git config --global user.email "你的邮箱地址" # 注意这里设置用户签名和将来登录远程仓库的账号无关,此名称用于标识,登录账号用于登录
git config user.name 局部配置当前仓库的用户名
git config user.email 局部配置当前仓库的邮箱
仓库初始化
方式一: git clone url
git clone url dir #克隆到指定目录
方式二: git init
git init newrepo
基本命令
git status 当前状态
git status -s // 查看仓库状态
- ??红 未跟踪
- m红 已修改
- d红色 已删除(工作目录删除,版本库中还存在)
- a绿色 已暂存
git diff 显示工作区和暂存区的差异,若暂存区为空比较的工作区和本地仓库的差异
git diff --cached 显示暂存区和本地仓库的差异,若暂存区为空,不进行比较
git diff HEAD 显示工作区和本地仓库的差异
git log --oneline 查看提交历史,显示一行
git cherry-pick xxx 挑拣提交,将该提交的改动部分(非两个分支所有改动),合并到当前分支
git链接远程仓库
本地项目名和远程项目名没有实质联系,互相传递的是.git仓库中的代码
方式一:创建本地仓库,然后添加远程仓库
git remote add origin http://admin@106.12.212.179:8553/r/~admin/flask-file-server.git 添加远程仓库,别名+地址
git remote -v 查看链接远程仓库
git remote rm origin 删除
git pull origin xxx 拉取远程xxx分支并合并到当前分支
git pull origin xxx:xxx 拉取远程分支xxx和合并到本地分支xxx
git reset --hard origin/branch-name 拉取远程分支覆盖本地分支
git push origin 推送当前分支到远程同名分支
git push origin xxx 推送本地xxx分支到远程同名分支(提交的过程中需要登陆远程仓库的用户名和密码,若该用户不在此项目成员列表中,则不能提交)
git push origin local_branch_name:remote_branch_name 推送本地指定分支推送到到远端指定分支
git push origin --force 强制推送
方式二: clone自动添加
git clone xxx # 克隆默认的分支,master或者main
git clone -b <branch-name> <repository-url> # 克隆指定分支
分支操作
列出/创建分支 git branch
查看所有分支,包括远程分支 git branch -a
切换分支: git switch/checkout <branchname>
创建切换分支指定起点 git switch -c <new-branch-name> <start-point>
合并分支: git merge <branchname> # 合并分支到当前分支
删除分支 git branch -d <branchname>
强制删除未合并分支 git branch -D <branchname>
创建远程分支
- 方式一:远程仓库创建分支,然后本地拉取分支
- 方式二: 本地创建分支,将此分支推送到远程
删除远程分支 git push origin -d feature-branch