git版本控制

1 、下载安装git

windows 环境 https://git-for-windows.github.io/ 一路next
打开项目文件夹 右键 git bash here

git版本控制_第1张图片
snipaste_20190307_135352.jpg

2 初始化用户名 邮箱

git config --global user.name peterz
git config --global user.email [email protected]

3 项目初始化

git init

4 添加文件到本地仓库 (2步)

step1:
git add . 表示添加当前目录所有文件
git add index.php 表示只添加index.php文件
step2:
git commit -m "message" 提交 message 为备注

修改文件也是执行以上两个步骤

5 删除文件

git rm index.php
git commit -m "del index.php"

6 常规操作

团队合作,新成员加入 应先在 github项目中将其加为成员
然后在本地克隆一份远程库
git clone https://gitee.com/Zyaun/git_test
上传至远程库(之前先 添加文件到本地仓库)
git push https://gitee.com/Zyaun/git_test master

查看仓库当前的状态
git status

查看版本改动
git diff

拉取远程库
git pull https://gitee.com/Zyaun/git_test master

查看日志
git log
git log --pretty=oneline 或让日志单行显示

版本切换
git reset --hard 版本号
注意 : 版本号不用写那么长 , 能要能保证不与其他版本号重复就行

7、分支管理

7.1 分支有什么用 ?

在开发中 , 遇到这样的情况怎么办 ?
网站已有支付宝在线支付功能 , 要添加 " 微信支付 ".
修改了 3 个文件 , wechat.php , pay.php

刚做到一半 , 突然有个紧急 bug: 支付宝支付后不能修改订单状态 .
你需要立即马上修改这个 bug, 需要修改的文件是 , ali.php , pay.php .
问题是 : pay.php , 已经被你修改过 , 而且尚未完成 .
直接在此基础上改 , 肯定有问题 .

把pay.php倒回去 ? 那我之前的工作白费了 .
此时你肯定会想 : 在做 " 微信支付 " 时 , 能否把仓库复制一份 , 在此副本上修改 , 不影响原仓库的内容 . 修改完毕后 , 再把副本上的修改合并过去 .
好的 , 这时你已经有了分支的思想 .

前面见过的master , 即是代码的主干分支 ,
事实上 , 在实际的开发中 , 往往不会直接修改和提交到master分支上 .
而是创建一个dev分支 , 在dev分支上 , 修改测试 , 没问题了 , 再把dev分支合并到master上 .
如果有了分支 , 刚才的难题就好解决了 , 如下图


git版本控制_第2张图片
image.png

在做 " 微信支付 " 时 , 我们创建一个wechat分支 .
把wechat分支commit , 此时 , master分支内容不会变 , 因为分支不同 .

当遇到紧急 bug 时 , 创建一个AliBug分支 .
修复 bug 后 , 把AliBug分支合并到master分支上 .

再次从容切换到wechat分支上 , 接着开发 " 微信支付 " 功能 , 开发完毕后 ,
把wechat分支合并到master分支上

7.2 查看所有分支

git branch

7.3 创建分支

git branch ali
注意 创建分支后任在原来分支内

7.4 切换分支

git checkout ali

7.5 快速创建并切换到分支

git checkout -b ali

7.6 合并分支

git checkout merch 再次切换回merch分支下
git merge ali 将ali 分支合并

7.7 删除分支

git branch -d ali

8、远程仓库

8.1 查看远程仓库

git remote

8.2 添加远程仓库

git remote add origin https://gitee.com/Zyaun/git_test 类似给 地址取个别名
注 : 远程库名一般叫origin , 但并非强制 , 你可以自己起名

8.3 修改远程仓库名

get remote rename oldname newname

9、公钥登陆

我们 push 本地仓库到远程时 , 总要输入用户名 / 密码 , 这很不方便 .
配置公钥 , 可以避免频繁输用户名 / 密码的麻烦 .

9.1 配置 ssh 格式的远程仓库地址

git remote add 远程仓库名 远程仓库地址
例 :
git remote add gitaddr [email protected]:lianshou/test.git

9.2 创建 ssh key

ssh-keygen -t rsa -C "[email protected]" , 把邮件地址换成你自己的邮件地址 , 一直回车 , 不用输入密码 . 完成后 , 可以在用户主目录里找
到 .ssh 目录 , 内有id_rsa和id_rsa.pub两个文件 . id_rsa是私钥 , id_rsa.pub是公钥 .
这两把钥匙是成对的 , 可以让分别持有私钥和公钥的双方相互认识 .

9.3 把公钥放在服务器

用记事本打开id_rsa.pub , 复制公钥内容 .
登陆 git.oschina.net, 如下图 , 填入公钥并保存


git版本控制_第3张图片
image.png
9.4 push 本地仓库到远程 , 发现不用填密码了

git push gitaddr master

你可能感兴趣的:(git版本控制)