-
一. git介绍
-
- 什么是git
git --版本控制工具
- 什么是git
-
- 版本控制:
记录一个或者若干文件的所有变化变化,以便于将来查看文件的在不同版本的情况。
- 版本控制:
-
- 版本控制的发展
- 人们习惯于复制整个项目来保存不同版本,但是这种方式容易混淆不同版本,且占用储存较大
- rcs:保存每次文件修改前后的变化,应用所有的补丁可以计算出每个版本的文件内容
- 集中化版本控制:可以多人多系统协同工作,并且便于管理,但是中央服务器不能出问题,一出 问题,这全部开发者都无法进行工作,且所有数据都保存在中央服务器中,容易丢失所有数据
- 分布式版本控制系统:在这类系统中,客户端会把代码仓库完整的镜像下来,当参与开发的任何一处服务器出现问题,可以使用任何一个镜像恢复。
-
- git的优势
- 直接记录快照
- 操作快捷:因为git库中有项目完整的历史记录,不需要远程连接服务器读取历史数据
- 保证数据完整性:每次储存都会检验文件
- 数据可靠性:数据一旦提交,很难丢失,所以可以尽情修改文件
二. git基础
-
- 初次使用,git配置
- git config:
- 配置用户名和邮箱:
$ git config --global user.name “your name”
$ git config --global user.email “your email”
(global只需运行一次,系统上所有.git库都会调用)
- 配置用户名和邮箱:
- 获取帮助:
- $ git help verb
$ git verb --help
$ man git-verb
- $ git help verb
- git config:
- 初次使用,git配置
-
- git基本操作命令
- 得到git仓库:
- 初始化仓库:git init
- 克隆一个仓库:git clone (url)
- 将文件放入暂存区
- git add (filename)
- git add . :提交目录中所有文件
- 将暂存区文件提交到本地仓库
- git commit -m ‘(提交的原因)’
- 查看提交日记
- git log
- 回退版本
- git reset --hard (版本代码):
- 查看版本控制状态:
- git status
- 使用暂存区恢复工作区
- git restore (filename)
- 关联远端仓库
- git remote add (shortname) (url)
- git remote add (shortname) (urlname)(url):在接下的使用中可以用urlname来代替url
- 远端仓库重命名
- git remote rname (oldname) (newname)
- 移除远端仓库
- git remote remove (urlname(url))
- 向远端仓库提交代码
- git push -u orgin master
- 从服务器克隆项目到本地
- git clone (url(urlname))
- 下拉代码
- git pull (url(urlname))
- 查看远端仓库的信息
- git remote show (shortname)
- 得到git仓库:
- git基本操作命令
-
- 免密访问
- cd ~/.ssh
- -ssh-keygen -t rsa -b 2048 -C “1505903739@qq.com”
- cat ~/.ssh/id_rsa.pub —>复制公钥,部署到gitee个人设置ssh
- 免密访问
-
- 标签
- 列出标签
- git tage
- 以字母顺序列出标签
- 加上-l或者-list 可以配上通配符选项来列出符合要求的标签如
:$ git tag -l “v1.8.5*”
- 创建标签
- 两种标签:
轻量标签:轻量标签很像一个不会改变的分支——它只是某个特定提交的引用
附注标签:附注标签是存储在 Git 数据库中的一个完整对象, 它们是可以被校验的,其中包含打标签者的名字、电子邮件 地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)签名并验证。 - 创建符注标签
- $ git tag -a (tagname) -m (指定的储存信息)
- git show (tagname ):输出显示了打标签者的信息、打标签的日期时间、附注信息,然后显示具体的提交信息。
- 创建轻量标签
- $ git tag v1.4-lw
- git show:不会看到额外的标签信息。 命令只会显示出提交信息
- 共享标签
- 默认情况下,git push 命令并不会传送标签到远程仓库服务器上
- 运行git push origin (tagname)推送到共享服务器上
- 运行git push origin (tagname)–tags 推送所有不在共享服务器上的标签
- 删除标签
- git tag -d (tagname)不会删除远程仓库的标签需要 git push来更新远端仓库
- $ git push origin --delete (tagname)
- 两种标签:
- git tage
- 列出标签
- 标签
-
- git 别名
- 通过 git config 文件来轻松地为每一个命令设置一个别名,如$ git config --global alias.co checkout
- git 别名
(待更新)