使用Github部署一套开发环境完整教程
2018-01-14 10:53
447 查看
生成一个SSH密钥以供本地访问github
访问https://github.com/settings/keys(当然你得先注册一个github账号)点击“New SSH Key”,你也可以参考教程(https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)
到Windows CMD 下输入以下命令
//产生一个关联你github账号的密钥文件 ssh-keygen -t rsa -b 4096 -C "your_email@example.com" Generating public/private rsa key pair. //(输入你密钥的位置,默认即可,打回车) Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter] // 输入密码,可以直接打两次回车,不设置密码(为空) Enter passphrase (empty for no passphrase): [Type a passphrase] Enter same passphrase again: [Type passphrase again] // 确保ssh代理是开着的 eval $(ssh-agent -s) Agent pid 59566 //把之前产生的ssh密码加入代理 ssh-add ~/.ssh/id_rsa //用命令copy出密钥串 clip < ~/.ssh/id_rsa.pub //复制到前面说的New SSH key 页面上 https://github.com/settings/keys[/code]创建一个github项目库
访问https://github.com/,点击“Start a project”按钮,或者“New repository”
点击“Clone or download” 选择SSH,复制地址比
如“git@github.com:yourName/testProject.git”
在本地建立项目目录关联github(请先安装git)cd c:/test // Clone默认是master主分支 git clone git@github.com:yourName/testProject.git // 创建新的个人开发分支 git checkout -b my-dev // 日常在此分支下开发, 并提交到github git add git commit git push origin my-dev //在自己的开发分支测试好了,合并代码到主开发测试分支 git checkout master(切换回主开发测试分支) git pull origin master(先同步服务器端代码) git merge my-dev(将my-dev代码合并到master) git push origin master(提交合并后的代码到服务器端) // 合并完成并同步后记得切回个人分支,切勿在master上自己开发 git checkout my-dev // 如果需要将自己的分支与Master分支保持同步,如果不创建新的分支,则需要在原来的分支上进行rebase git checkout master git pull origin master git checkout my-dev git rebase master //本地关联remote 分支 git checkout sharp-dev git branch -u origin/sharp-dev //clone的时候,可以指定深度,如下,为1即表示只克隆最近一次commit. git clone git://xxoo --depth 1如何删除git历史中的大文件
有时候多人协作开发,有的人会不小心再git目录下饭了一个较大的文件,如xx.zip只要被push过一次,git就会一直保留着这个文件的历史记录,即使你把它删除了,重新push也无济于事。当新人进来开发,需要git clone时,会下载所有的记录,包括那个文件(被保存在C:\git.git\objects\pack)
- 我们可以clone最近的一次,比如git clone git://xxoo –depth 1
- 但这不是最佳的办法,如何删除这个大文件。请看:
.git文件主要用来记录每次提交的变动,当我们的项目越来越大的时候,我们发现 .git文件越来越大。
很大的可能是因为提交了大文件,如果你提交了大文件,那么即使你在之后的版本中将其删除,但是,实际上,记录中的大文件仍然存在。
为什么呢?仔细想一想,虽然你在后面的版本中删除了大文件,但是Git是有版本倒退功能的吧,那么如果大文件不记录下来,git拿什么来给你回退呢?但是,.git文件越来越大导致的问题是: 每次拉项目都要耗费大量的时间,并且每个人都要花费那么多的时间。。
git给出了解决方案,使用git branch-filter来遍历git history tree, 可以永久删除history中的大文件,达到让.git文件瘦身的目的。// 首先找出git中前五大的文件: git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5 // 第一行的字母是文件的id,用以下命令可以找出id 对应的文件名: git rev-list --objects --all | grep 8f10eff91bb6aa2de1f5d096ee2e1687b0eab007 // 首先,里面最重要的两条命令是 git filter-branch 和 gc, // filter-branch 真正在清理,但是只运行它也是没用的, // 需要再删除备份的文件,重新打包之类的, // 最后的gc命令,用来收集产生的垃圾,最终清除大文件。 git filter-branch --index-filter 'git rm --cached --ignore-unmatch <your-file-name>' rm -rf .git/refs/original/ git reflog expire --expire=now --all git fsck --full --unreachable git repack -A -d git gc --aggressive --prune=now git push --force origin master
相关文章推荐
- 使用Grunt搭建自动化的web前端开发环境-完整教程
- Windows下Libvirt Java API使用教程(一)- 开发环境部署 推荐
- Windows 7部署Android开发环境教程
- 使用XFire开发Web Service客户端完整入门教程
- 使用XFire开发Web Service客户端完整入门教程
- Windows7部署Android开发环境傻瓜式教程(Eclipse+ADT) (转)
- 使用XFire开发Web Service客户端完整入门教程
- Windows 7 部署 Android 开发环境傻瓜式教程(Eclipse+ADT)
- Windows7部署Android开发环境傻瓜式教程(Eclipse+ADT) (转)
- 第4章 ISE开发环境使用指南[FPGA开发实用教程]——第1节 ISE套件的介绍与安装
- 使用XFire开发Web Service客户端完整入门教程
- 完整的Mingw开发环境(使用Autoconf,automake,libtool,libiconv and gettext)
- 第4章 ISE开发环境使用指南[FPGA开发实用教程]——第3节 基于ISE的开发流程
- 虚拟打印机开发日志(一):使用x64 WIN7编译环境编译的完整步骤
- 让开发自动化: 使用自动化加速部署,利用自动化加速软件在不同环境间的迁移
- Windows7部署Android开发环境傻瓜式教程(遇到的一些问题)
- 第4章 ISE开发环境使用指南[FPGA开发实用教程]——4.3.5 功耗分析以及XPower的使用
- 【转】Windows7部署Android开发环境傻瓜式教程(Eclipse+ADT)
- Windows系统部署 Android 开发环境以及验证之傻瓜式教程(SDK+Eclipse+ADT)
- 使用VS2005搭建典型高效的SharePoint开发环境,提高生产效率,包含远程调试,自动部署