git 自动化
2016-05-07 16:21
330 查看
先用git clone http通道下来
git remote add origin git通道地址
秘钥(公钥)生成
ssh-keygen(以oschina为例,该秘钥要服务器和oschina公用!!)
找到生成的秘钥 方法项目管理 秘钥管理中 即可以后都不用打密码l !!!!!!
生成和oschina连接的秘钥
将你的秘钥加到oschina上
然后终端输入
就OK了
接下来是将此秘钥增加到你的服务器上!
vim ~/.ssh/authorized_keys
以上自动化部署脚本还存在的一定的问题,就是有时框架会产生Runtime目录,这时会导致服务器和本地Runtime不一致,这时要将Runtime目录移除版本库控制
然后建立一个.gitignore文件
Runtime/ 表示不跟踪Runtime目录 ,将此文件 commit 并 push
之后 git status 就可以看到不再提示你add Runtime目录了
最后再讲一下自动化的原理实现
1:git分两种公钥,一种是项目公钥,持有该公钥只能clone和pull项目,该公钥成为项目公钥(一般用于服务器),可以在项目管理中为服务器添加项目公钥。
2:二是用户公钥,该公钥拥有push权限,一般用于用户,该公钥配置是在git平台中配置 以oschaina为例,
http://git.oschina.net/keys
去这里部署的公钥拥有push权限
git切换远程分支
1:如果本地有远程分支的情况下:
2:如果本地没有远程分支的情况下:
git remote -v 查看中央版本库地址
git remote rm origin
git remote -v
git remote add origin git通道地址
秘钥(公钥)生成
ssh-keygen(以oschina为例,该秘钥要服务器和oschina公用!!)
找到生成的秘钥 方法项目管理 秘钥管理中 即可以后都不用打密码l !!!!!!
ssh-keygen -t rsa -C "xxxxx@xxxxx.com" 邮箱就是自己oschian的邮箱
生成和oschina连接的秘钥
cat ~/.ssh/id_rsa.pub cat会出现ssh rsa开头的信息 将全部复制下 (oschina上将最后面的邮箱去掉) 邮箱去掉后就是你的oschina public key http://git.oschina.net/keys 加上你的oschina key 你push就不需要打密码
将你的秘钥加到oschina上
然后终端输入
ssh -T git@git.oschina.net
Welcome to Git@OSC, yourname!
就OK了
接下来是将此秘钥增加到你的服务器上!
vim ~/.ssh/au+tab键(补全)
vim ~/.ssh/authorized_keys
如果没有这个文件 就 mkdir ~/.ssh vim ~/.ssh/authorized_keys 然后 cat ~/.ssh/id_rsa.pub(在本机执行) 此时将邮箱加上写入这个文件就可以免密码登陆
加上去就和服务器SSh秘钥登录!! 自动化部署!!
#!/usr/bin/env bash echo 'commit messagr:' read msg git pull git add . git commit -a -m '$msg' git push origin master ssh root@120.76.125.13 "cd /root/data_analysice/crawler && git pull"
以上自动化部署脚本还存在的一定的问题,就是有时框架会产生Runtime目录,这时会导致服务器和本地Runtime不一致,这时要将Runtime目录移除版本库控制
``` Git rm -r -n --cached */Runtime/\* git rm -r --cached */Runtime/\* `
git commit -m"移除Runtime目录下所有文件的版本控制" git push origin master //提交到远程服务器`
touch .gitignore
然后建立一个.gitignore文件
Runtime/ 表示不跟踪Runtime目录 ,将此文件 commit 并 push
之后 git status 就可以看到不再提示你add Runtime目录了
最后再讲一下自动化的原理实现
1:git分两种公钥,一种是项目公钥,持有该公钥只能clone和pull项目,该公钥成为项目公钥(一般用于服务器),可以在项目管理中为服务器添加项目公钥。
2:二是用户公钥,该公钥拥有push权限,一般用于用户,该公钥配置是在git平台中配置 以oschaina为例,
http://git.oschina.net/keys
去这里部署的公钥拥有push权限
git切换远程分支
1:如果本地有远程分支的情况下:
git branch 分支名字
2:如果本地没有远程分支的情况下:
//查看所有分支 git branch -va git fetch origin //切换分支 git check 远程分支名 (origin/dev)
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- git终极指南:在实际开发中的应用
- Windows下Ruby+Watir自动化测试的环境搭建及数据读取
- Git远程操作详解
- 25个 Git 进阶技巧(翻译)
- linux 自动化运维工具ansible的使用详细教程
- 详解版本控制利器Git,SVN的异同以及适用范围
- 自动化收集SQLSERVER诊断信息的工具选择及使用介绍
- 分享MySQL的自动化安装部署的方法
- PowerShell 4.0实现自动化设置服务器
- Android开发者需要知道的8个项目管理技巧
- Ruby实现的删除已经合并的git分支脚本分享
- 在 Shell 提示符中显示 Git 分支名称的方法
- Git使用基础篇(一些常用命令和原理)
- git eclipse 插件的安装
- git fork同步是什么意思?