Skip to content

git简明教程以及资源分享 ​

一:免费下载链接 https://pan.quark.cn/s/09c17205e613 ​

  • 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

工作流程 ​

相关概念的理解: ​

  • 工作区:你电脑上正在编辑的项目文件夹,就是肉眼能直接看到、修改文件的地方。
  • 暂存区:临时收纳盒,挑选好要保存的改动,先放到这里,准备一次性存入版本库。
  • 本地仓库:存在你电脑里的版本历史档案室,存放所有提交过的代码快照与变更记录。
  • 远程仓库:放在云端 / 服务器上的共享档案室,用来备份代码,方便团队多人同步协作。

工作流程如下图所示: ​

alt text

文件的状态 ​

  1. 已忽略 通过.gitignore文件配置。这些文件不会出现在Git的状态输出中,Git也不会尝试跟踪它们的修改
  2. 未跟踪 git还没有管理的文件,可能是新创建的文件
  3. 已修改 跟踪文件被修改(即和本地仓库文件不同),且不在暂存区
  4. 已暂存 将已修改或者未跟踪文件提交到暂存区,将暂存区提交到仓库,到状态5
  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