1、部署git
可视化操作git方法: http://www.cnblogs.com/winner-0715/p/6068573.html
安装GIT :https://jingyan.baidu.com/article/90895e0fb3495f64ed6b0b50.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" //配置邮箱
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、代码库中的文件完全覆盖本地工作版本代码
git reset --hard (HEAD .) //所有文件返回本地最近一次pull的版本(git reset --hard HEAD~1 // ~1表示回退到上一次提交) git pull //重新获取仓库代码
2、保留本地服务器上所做的改动,仅仅并入新代码
git stash //隐藏本地代码改动记录 git pull //拉取服务器最新代码 git stash pop //将本地隐藏的改动代码记录还原
8、根目录 .gitignore 文件可以屏蔽本地指定目录(文件)的提交
/public/cache
1、两个tab键补全命令。
2、从git下载的程序,默认是忽略vendor等目录。下载完框架以后,还需要执行composer install 把不全的目录下载完整才可以使用框架。