1、部署git
可视化操作git方法: http://www.cnblogs.com/winner-0715/p/6068573.html
安装GIT :https://jingyan.baidu.com/article/90895e0fb3495f64ed6b0b50.html
生成sshkey:
//生成sshkey 。此处填写的是注册coding时的邮箱。接下来一直惦记enter键即可。
//完成后生成的文件所在目录:C:\Users\Administrator\.ssh 。获取其中的公钥id_rsa.pub里的内容
//将公钥内容,添加到coding指定仓库的公钥管理中
ssh-keygen -t rsa -C "username@example.com"
2、常用命令
// git命令界面兼容linux命令
ssh-keygen -t rsa -C "username@example.com" //生成sshkey 。此处填写的是注册coding时的邮箱。
git clone https://xxxxxx // 克隆远程目录到本地(ssh的URL提交时不需要每次验证账户密码,https则相反)
---------------
cd 要上传的目录 // 进入要上传的项目目录中
git diff //查看这个版本与上个版本的代码差异
git status// 查看目录(仓库)状态(本地仓库文件、待上传的文件)
git add文件名// 选中要上传的文件到暂存区(git add . 选中所有文件)
git commit -m "代码备注"// 提交代码的备注
git push (origin master) //推送到云端
---------------
git pull (origin master) //下载(拉取)云端最新master分支代码(默认),自动合并(常用)
git fetch //下载(获取)云端最新代码,不会自动合并
git reset HEAD . //把暂存区的文件取消(.表示所有文件)
git config --list//查看配置文件
git config --global user.name "myname" //配置用户名
git config --global user.email "test@gmail.com" //配置邮箱
分支(所有开发都在分支上进行)
查看现有所有分支:git branch
创建分支:git branch dev
切换分支:git checkout dev (创建并切换分支:git checkout -b dev)
合并分支:git merge dev (将dev分支合并到当前分支)
工作流(当前开发分支临时修复其他bug)
//等同于在现有开发分支上再开新分支修复bug,修复完问题后合并该分支。
git flow init 初始化工作流
git flow feature start issue1(工作流名字) 开新的工作流
git flow feature finish issue1(工作流名字) 结束工作流(问题修复完,自动合并并删除该分支)
3、将本地已有代码提交到git仓库
git init //在当前项目目录中生成本地git管理,并建立一个隐藏.git目录
git add .//添加当前目录中的所有文件到索引
git commit -m "first commit"//提交到本地源码库,并附加提交注释
git remote add origin git@gitee.com:codyy/imitation_cbcwenshicom.git//添加到远程项目,别名为origin
git push -u origin master //把本地源码库push到github 别名为origin的远程项目中,确认提交(-u参数表示关联仓库)
注意:
push报错时,需要先把线上仓库清空再重新推送。
或者:git pull --rebase origin master //下拉并合并代码
4、跳转到任意版本号的代码
显示提交的历史log(回退用)
$ git log -3 //-3显示最近3条提交
commit 4dc08bb8996a6ee02f //这个就是版本号
......
查看所有操作记录(前进用)
git reflog
e475afc HEAD@{1}: reset: moving to HEAD^ 1094adb (HEAD -> master) HEAD@{2}: commit: append GPL //第一个字符串就是版本号
跳转到指定的版本号的代码
git reset --hard e377f60e28c8b84158 //最后的字符是版本号
5、避免每次提交都需要输入账户密码
将连接方式由https改为ssh即可。
可以通过如下命令来查看当前的remote方式:
git remote -v
如果当前是https的,那么可以通过如下命令修改为ssh:
git remote set-url origin git@github.com:account/project.git
6、在服务器加了密钥的情况下,git可以直接登录服务器操作
ssh root@192.168.1.168 // 用户名@ip
7、工作版本代码报错
本地代码修改但是未push提交,此时pull更新本地代码时报错
error:Your local changes to the following files would be overwritten by merge:
protected/config/main.php
Please, commit your changes or stash them before you can merge.
解决办法
1、代码库中的文件完全覆盖本地工作版本代码
//所有文件返回本地最近一次pull的版本(git reset --hard HEAD~1 // ~1表示回退到上一次提交)
git reset --hard (HEAD .)
git pull //重新获取仓库代码
2、保留本地服务器上所做的改动,仅仅并入新代码
git stash //隐藏本地代码改动记录
git pull //拉取服务器最新代码
git stash pop //将本地隐藏的改动代码记录还原
8、根目录 .gitignore 文件可以屏蔽本地指定目录(文件)的提交
/public/cache
1、两个tab键补全命令。
2、从git下载的程序,默认是忽略vendor等目录。下载完框架以后,还需要执行composer install 把不全的目录下载完整才可以使用框架。
--------------------------------------------------------------------
承接网站开发、小程序开发、app开发、商城开发、公众号开发。
百度SEO排名、百度搜索霸屏、软文代写等业务。
联系QQ:2779459018 联系微信:qianxia39