文章目录
一、简介
简介:Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1] 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
特点:分为两种类型仓库,本地仓库和远程仓库。每个客户端都会保存完整的历史记录。当服务器故障时,都可通过客户端的记录得以恢复。
二、 安装
- 官网进行下载:https://git-scm.com/downloads
- 双击安装包,进入安装向导界面
- 指定安装目录
- 一路next下一步
- 等待安装
- 安装完成
- 安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到如下两个菜单则说明Git安装成功。
Git GUl :Git提供的图形界面工具
Git Bash:Git提供的命令行工具
- 运行Git命令客户端,使用git --version 命令,可以查看git版本
三、Git基本工作流程
- Workspace:工作区,就是你平时存放项目代码的地方
- Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
- Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
- Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
操作介绍:
- clone(克隆): 从远程仓库中克隆代码到本地仓库
- checkout (检出):从本地仓库中检出一个仓库分支然后进行修订
- add(添加): 在提交前先将代码提交到暂存区
- commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本
- fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
- pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于 fetch+merge
- push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库
四、Git常用命令
master :默认开发分支
Head :默认开发分支
origin:默认远程版本库
Head^:Head 的父提交
4.1 配置相关
git config -l #查看所有已做的配置
git config --global user.name "your name" # 设置全局用户名
git config --global user.email "your email" # 设置邮箱
git config user.name #查看git账户
git config user.email #查看git邮箱
ssh-keygen -t rsa -c "email“ #生成SSH公钥
cd~/.ssh #查看是否生成过SSH公钥
cat ~/.ssh/id_rsa.pub #查看SSH公钥
4.2 创建版本库
git init #初始化本地版本库
git clone <url> #克隆远程版本库
4.3 修改和提交
git status #查看状态
git status <filename> #查看指定文件状态
git diff #查看变更内容(绿色新加 红色删除)
git add . #跟踪所有改动过的文件
git add <file> #跟踪指定的文件
git mv <old> <new> #文件改名
git rm <file> #删除文件
git rm --cached <file> #停止跟踪文件但不删除
git commit -m "commit message" #提交所有更新过的文件
git commit --amend #修改最后一次提交
4.4 查看提交历史
git log #查看提交历史
git log -p <file> #查看指定文件的提交历史
git blame <file> #以列表方式查看指定文件的提交历史
4.5 撤销
git reset --hard HEAD #撤销工作目录中所有未提交文件的修改内容
git checkout HEAD <file> #撤销指定的未提交文件的修改内容
git revert <commit> #撤销指定的提交
4.6 分支与标签
git branch #显示所有本地分支
git branch -r #列出所有远程分支
git branch [branch-name] #新建一个分支,但依然停留在当前分支
git checkout -b [branch] #新建一个分支,并切换到该分支
git checkout <branch/tag> #切换到指定分支或标签
git branch <new-branch> #创建新分支
git branch -d <branch> #删除本地分支
git tag #列出所有本地仓库标签
git show tagname #查看具体标签信息
git tag <tagname> #基于最新提交创建标签
git tag -d <tagname> #删除标签
4.7 合并与衍合
git merge <branch> #合并指定分支到当前分支
git rebase <branch> #衍合指定分支到当前分支
4.8 远程操作
git remote -v #查看远程版本库信息
git remote show <remote> #查看指定远程版本库信息
git remote add <remote> <url> #添加远程版本库
git fetch <remote> #从远程库获取代码
git pull <remote> <branch> #下载代码及快速合并
git push <remote> <branch> #上传代码及快速合并
git push <remote> :<branch/tag-name> #删除远程分支或标签
git push --tags #上传所有标签
4.9 临时操作
git stash #保存本地仓库中的临时修改。
git stash list #显示所有临时修改
git stash apply #恢复所有保存的临时修改
git stash pop #恢复最近一次保存的临时修改
git stash clear #丢弃所有保存的临时修改
五、入职后Git配置
以公司使用gitLab为例:
-
入职后,会为你开通gitLab账号,拉你进入相应的组中。
-
在Git 中设置用户名和邮箱(参考上方4.1)。
-
通过固定命令生成SSH密钥(参考上方4.1三次回车),生成id_rsa和id_rsa.pub两个文件。
-
查看生成的SSH密钥。
-
将生成的SSH密钥进行复制,粘贴至GItLab中对应的SSH中。
-
结束。