1 、下载安装git
windows 环境 https://git-for-windows.github.io/ 一路next
打开项目文件夹 右键 git bash here
2 初始化用户名 邮箱
git config --global user.name peterz
git config --global user.email 1070945911@qq.com
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上 .
如果有了分支 , 刚才的难题就好解决了 , 如下图
在做 " 微信支付 " 时 , 我们创建一个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 git@git.oschina.net:lianshou/test.git
9.2 创建 ssh key
ssh-keygen -t rsa -C "youremail@example.com"
, 把邮件地址换成你自己的邮件地址 , 一直回车 , 不用输入密码 . 完成后 , 可以在用户主目录里找
到 .ssh 目录 , 内有id_rsa和id_rsa.pub两个文件 . id_rsa是私钥 , id_rsa.pub是公钥 .
这两把钥匙是成对的 , 可以让分别持有私钥和公钥的双方相互认识 .
9.3 把公钥放在服务器
用记事本打开id_rsa.pub , 复制公钥内容 .
登陆 git.oschina.net, 如下图 , 填入公钥并保存
9.4 push 本地仓库到远程 , 发现不用填密码了
git push gitaddr master