Git安装和使用
简介
实际项目开发中,我们经常会用一些版本控制器来托管自己的代码,Git就是目前世界上最先进的分布式版本控制系统(没有之一),下面就总结一下Git安装与使用。
Git安装
下载Git 官方地址为:https://git-scm.com/download/win
下载完,直接安装,选择安装的目录,然后接下来,选择都是默认的就可以,全程Nest,下一步就可以。最后点安装完成。然后我们回到电脑桌面,鼠标右击如果看到有两个git单词则安装成功。
GIT GUI : Git提供的图像界面工具
GIT Bash : Git提供命令行工具
Git工作流程
- 从远程仓库中克隆代码到本地仓库中
- 从本地仓库中checkout代码然后进行代码修改
- 提交代码前将代码提交暂存区
- 提交到本地仓库,本地仓库中修改各个历史版本
- 修改完成,团队成员共享代码,将代码push到远程仓库中
Git 代码托管服务
有两种类型仓库,本地仓库、远程仓库。搭建Git远程仓库,比较常用的GitHub、码云、GitLab等。
我们以码云为例,创建远程仓库。
码云网址:https://gitee.com/
首先,我们登录网址,注册账号,如果有账号,直接登录。
然后,我们创建仓库。左侧菜单栏选择新建仓库。
填写界面上相关信息,包括项目名字,项目描述,以及选择相关的开发语言和创建公开还是私有项目,填写完成点击创建按钮。
项目创建完成之后,点击项目查看项目地址,复制链接。
这样我们的远程仓库就创建完成了。记住HTTPS 或者 SSH地址,后期我们本地操控远程仓库时需要这个地址。
邀请其他用户成为仓库成员:
如果邀请其他开发者一起管理这个项目,在当前仓库中,菜单选择管理,添加仓库成员。添加这个用户必须也是码云的用户,可以让对方扫码加入,也可以输入Gitee 用户名进行添加。
Git 常用命令
环境配置
设置用户信息
$ git config --global user.name "用户名"
$ git config --global user.email "邮箱地址"
查看用户信息
git config user.name
git config user.email
查看配置信息
$ git config --list
$ git config user.name
验证邮箱
$ git config --global --list
获取Git仓库
当前目录新建一个Git代码库
$ git init
从远程克隆
$ git clone 远程Git仓库地址
$ git clone -b 分支名 远程Git仓库地址
显示所有远程仓库
$ git remote -v
添加远程仓库
$ git remote add 名称 url地址
$ git remote add origin git@github.com:XXX/XXX.git
移除远程仓库 - 只是在本地移除记录,并不会影响远程仓库
$ git remote rm 名称 (一般是origin)
从远程拉取代码
$ git pull 名称 (一般是origin) 分支名 (master分支)
$ git pull 名称 分支名 --allow-unrelated-histories
本地推送到远程仓库
$ git push 名称 (一般是origin) 分支名 (master分支)
第一次需要输入用户名和密码
本地推送到远程仓库
$ git push 名称 (一般是origin) 分支名 (master分支)
第一次提交
$ git push -u origin 分支名
需要输入用户名和密码
解决连接远程仓库出现ssl认证问题
$ git config --global http.sslVerify "false"
测试一下通不通
$ ssh -T git@github.com
增加/删除/提交文件
添加指定文件到暂存区,如果是多个文件,使用空格分隔
$ git add 文件 文件 ...
当前目录及其子目录的文件都加入到暂存区
$ git add .
将暂存区文件取消暂存
$ git reset 文件
回退到上个版本
$ git reset --hard HEAD^
回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard HEAD~3
退到/进到 指定commit的sha码,编码ID可在历史记录里查看
$ git reset --hard 编码ID
代码提交,提交暂存区到仓库区
$ git commit -m "描述信息"
删除文件
$ git rm 文件
查看信息
查看文件状态
$ git status
查看文件修改哪些内容
$ git diff
查看日志记录
$ git log
查看当前分支的版本历史
$ git log
搜索提交历史,根据关键词
$ git log -S 关键词
显示指定文件是什么人在什么时间修改过
$ git blame 文件
显示今天你写了多少行代码
$ git diff --shortstat "@{0 day ago}"
显示当前分支的最近几次提交
$ git reflog
显示所有提交过的用户,按提交次数排序
$ git shortlog -sn
将文件添加至忽略列表
在工作目录下创建.gitignore的文件(名字是固定的)
列出要忽略的文件模式,下面的例子:
# 忽略.a结尾的文件
*.a
# !是取反,不忽略lib.a文件,lib.a文件除外进行忽略。
!lib.a
# 忽略DI这个文件名文件
/DI
# 忽略build目录下的全部文件
build/
# 忽略doc目录下的以txt为后缀的文件
doc/*.txt
# /**/ 代表是多层目录,忽略doc目录下全部的以txt为后缀的文件
doc/**/*.txt
Git分支
查看本地分支
$ git branch
查看远程分支
$ git branch -r
查看远程全部分支
$ git branch -a
创建分支
$ git branch 分支名
切换分支
$ git checkout 分支名
将本地分支推送到远程仓库
$ git push orighn 分支名
合并分支
$ git merge 分支名
例子:将b分支合并到a分支下
$ git checkout a
$ git push orighn b
删除分支
$ git branch -b 分支名
强制删除
$ git branch -D 分支名
删除远程仓库分支
$ git push orighn -b 分支名
代码冲突解决
打开冲突文件并修复冲突内容,最后执行git add命令
Git标签
创建标签
$ git tab 标签名
查看标签
$ git tab
查看信息
$ git show 标签名
将当前标签推送远程仓库
$ git push origin 标签名
检出标签 - 在新的基础上创建新的分支再进行开发
$ git checkout -b 新的分支名 标签名
删除本地标签
$ git tag -d 标签名
删除远程仓库标签
$ git push origin :refs/tags/远程仓库标签名