Git是什么
Git是目前世界上最先进的分布式版本控制系统
安装Git
Linux安装
1.使用yum安装:yum install git 默认安装位置(/usr/libexec/git-core) 2.自定义安装(更推荐使用) 推荐原因:1.可以更新到最新版本 2.可以指定安装路径 如果存在旧版本需要先卸载 yum remove git 第一步:官网下载安装包 https://git-scm.com/download/linux 第二步:解压安装包 tar -zxvf git-2.34.1.tar.gz 第三步:安装编译环境 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 第四步:编译源码 首先进入刚刚解压的git文件夹中 make prefix=/opt/git all 第五步:安装git到指定/user/git路径 make prefix=/user/git install 第六步:配置环境变量 vi /etc/profile 在底部加上 export PATH=$PATH:/user/git/bin 刷新环境变量 source /etc/profile 第七部:查看git是否安装完成 git --version
Windows安装
在https://gitforwindows.org/下载windows安装包 安装完成之后 在指定文件右击选中git bash打开git 第一次使用git需要配置 $ git config --global user.name "用户名" $ git config --global user.email "邮箱"
创建版本库
git init #把这个目录变成 Git 可以管理的仓库 #git目录是隐藏的
添加文件到版本库
git status #掌控工作区状态,告诉文件有被修改过 git add <文件名> #将文件添加到暂存区 git commit -m 自定义版本名称 #将暂存区的内容提交到版本库
版本穿梭
git log #查看提交历史 git reflog #查看命令历史 git reset --hard f0f61bd #穿梭到f0f61bd对应的版本
删除文件
$ git rm 文件名
分支管理
git branch #创建分支 git branch -a #查看分支 git checkout dev #创建一个名为dev的分支 git checkout -b dev #创建并切换到dev分支 git merge dev #将dev分支合并到当前分支 git branch -d dev #删除dev分支 git log --graph #查看分之合并图 注意:如果存在分支冲突,Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,这时候我们需要手动解决冲突再重新提交,git status 也会告诉我们冲突的文件
bug分支
使用bug分支的时机:当正在执行的工作还没有提交,bug必须在短时间内解决时 步骤: 1.git stash #将当前工作现场保存,以后恢复现场在工作 2.git status #此时查看工作区,工作区是干净的 3.创建一个新的分支处理bug完成后合并分支 4.git branch -d 分支名 #删除刚刚处理bug的分支 5.git stash pop #恢复工作现场,删除stash内容
远程仓库
配置SSH key
使用前提:创建GitHub 账号,由于你的本地 Git 仓库和 GitHub 仓库 之间的传输是通过 SSH 加密的,使用远程仓库前需要设置一些 步骤一:创建 SSH Key。在用户主目录下,看看有没有 .ssh 目录如果有,再看看这个目录下有没有 id_rsa和 id_rsa.pub 这两个文件,如果已经有了,可直接跳到下一步。 如果没有,打开 Shell(Windows 下打开 GitBash),创建 SSH Key: ssh-keygen -t rsa -C "youremail@example.com" 把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可 注意:id_rsa 是私钥,不能泄露出去, id_rsa.pub 是公钥,可以放心地告诉任何人 步骤二:点“Add SSH Key” 填上任意 Title,在 Key 文本框里粘贴 id_rsa.pub 文件的内容
此时点击new SSH key
创建远程仓库
首先点击小猫头像,然后点击new,填写仓库名称,默认共有创建即可
连接远程仓库
创建完成远程仓库后,实现连接 步骤一:git remote add origin ___ #连接远程仓库 步骤二:git remote #查看源头 默认origin 注释:上方__内容为创建仓库完成后的第一块倒数第二行代码
远程仓库克隆
打开想要克隆的仓库,点击code,拷贝ssh,使用git clone 拷贝过来的ssh,完成仓库的克隆
多人协作开发
推送分支:git push -u origin 分支名称 #将分支推送到远程仓库 抓取分支:git pull #把最新的提交 抓下来 注意:当产生冲突时先用git pull 把最新的提交抓下来,然后,在本地合并,解决冲突,再推送
标签管理
标签作用:唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来 git tag #查看所有标签 git tag v1.0 #给当前分支打上名为v1.0的标签 注意:默认标签是打在最新提交的 commit 上的 git tag v2.0 7297591 #给指定commit打上标签 git tag -d v1.0 #删除本地v1.0标签
工作区,暂存区,版本库
工作区
就是你在电脑里能看到的目录
版本库
工作区有一个隐藏目录 .git ,这个不算工作区,而是 Git 的版本库 Git 的版本库里存了很多东西,其中最重要的就是称为 stage(或者叫 index)的 暂存区,还有 Git 为我们自动创建的第一个分支 master, 以及指向 master 的一个指针叫 HEAD
文件添加版本库执行流程
第一步是用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区 第二步是用 git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支