git简介

  • git是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖 于网络和中心服务器。
  • 优点
  1. git的社区开源,且拥有丰富的资料,项目
  2. 分布式的版本管理,不会出现中心服务器死机就影响工作(集中式管理),强调个体
  3. 公共服务其压力和数据量都不会太大。
  4. 速度快,灵活。
  5. 离线工作,管理代码成本低。
  • 缺点
  1. 学习周期较长。
  2. 代码保密性较差。

git命令

安装git

1
sudo apt install git

配置git环境

1
2
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"

创建版本库(.git目录)

1
git init  

本地空仓库的创建需要在空目录下

1
2
3
mkdir gitspace  # 创建空目录
cd gitspace # 进入空仓库
git init # 完成初始化

添加文件到git仓库

1
2
git add <FileName>  # 将文件放入暂存区,可反复使用,同时添加多个文件
git commit -m <message> # 将文件添加到版本库(暂存区——>当前分支)

查看仓库状态

1
git diff <>

版本回退

1
2
3
git log  # 查看历史提交记录(git log --pretty=online,日志单独成行),HEAD(当前版本)
git reset --hard HAED^ # 回退一个版本 HEAD^^(两个版本)
git reflog # 查看历史的每一次命令

撤销修改

1
2
git check --<filename>  # 撤销修改
rm <filename> # 删除文件

将本地库内容推送到远程库

1
2
git push -u origin master  # 第一次推送
git push origin master # 提交后,推送本地的最新修改

从远程库克隆

1
git clone <网址>

操作分支

1
2
3
4
5
6
7
git branch  # 查看分支(git branch -a查看所有分支)
git branch <name> # 创建分支
git checkout <name> # 切换分支(git checkout -b <name>创建且切换分支)
git merge <name> # 合并指定分支到当前分支
git branch -d <name> # 删除分支
git branch -D <name> # 强制删除
git log --graph --pretty=oneline --abbrev-commit # 查看分支合并情况

查看远程库信息

1
git remote (-v)  # 查看远程库信息

抓取分支

1
git pull origin  # 抓取分支(默认克隆master)

远程仓库默认名:origin

操作标签

1
2
3
4
5
6
7
8
9
git tag <tagname>  # 创建标签
git tag # 查看所有标签
git show <tagname> # 查看所有标签信息
git push origin <tagname> # 推送一个本地标签到远程库
git push origin --tags # 推送全部未推送的本地标签到远程库
git push origin <tagname> # 推送指定标签到远程库
git tag -d <tagname> # 删除一个本地标签
git push origin:refs/tags # 删除远程标签
git push origin --delete <tagname> # 删除远程标签