迈克菲手机版怎么激活,已经购买力迈克菲全方位实时保护可以卸载吗

jenkins新版本 怎么在 linux版本centos 系统上实现git的自动化管理代码-学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
jenkins新版本 怎么在 linux版本centos 系统上实现git的自动化管理代码
来源:互联网 发表时间: 6:30:10 责任编辑:王亮字体:
为了帮助网友解决“jenkins新版本 怎么在 linux版本centos 系统上实现git的自动化管理代码”相关的问题,学网通过互联网对“jenkins新版本 怎么在 linux版本centos 系统上实现git的自动化管理代码”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:jenkins新版本 怎么在 linux版本centos 系统上实现git的自动化管理代码,具体解决方案如下:解决方案1:Hudson:anonymous&permission&gt.HuseSecurity&permission&permission&gt.xml文件;permission&gt进入JENKINS_HOME目录;permission&authorizationStrategy&节点 2;&lt.model:1;authorizationStrategy&authorizationStrategy&gt。&lt.RunSpermission&gt、配置管理员权限这种方法适用于已经存在一堆的权限;&#47。下面提供2种方法.节点代表是否使用用户权限:anonymous&lt.Administer.Read.Hudson.ConfigureUpdateCpermission&gt,重新配置麻烦.model.UploadPlugins,&useSecurity&hudson.节点中添加内容如下;&#47:anonymous&&lt:anonymous&authorizationStrategy&permission&permission&&#47、恢复默认设置直接删除&lt,找到了&lt.Hudson:anonymous&和&lt。在&permission&gt:&&&useSecurity&//节点代表用户权限是怎么划分的;和&节点,找到config.model.Hudson
1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 学网 版权所有
京ICP备号-1 京公网安备02号‘Git版本管理工具’ 分类的存档
Pull Request流程
首先fork我的项目
把fork过去的项目也就是你的项目clone到你的本地
运行 git remote add looly :looly/elasticsearch-definitive-guide-cn.git 把我的库添加为远端库
运行 git pull looly master 拉取并合并到本地
commit后push到自己的库(git push origin master)
登录Github在你首页可以看到一个 pull request 按钮,点击它,填写一些说明信息,然后提交即可。
git使用常遇到的问题
http://blog.csdn.net/garn_hsia/article/details/
1. 【You can’t push to git】
fatal: remote error:
You can’t push to git:///user_name/user_repo.git
Use :user_name/user_repo.git
解决办法:
$ git remote rm origin
$ git remote add origin :user_name/user_repo.git
$ git push origin
2.【Permission denied(publickey)】
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
解决办法:
需要我们设置一个 ssh key
/articles/generating-ssh-keys#platform-linux
fork一个项目到贡献代码流程
/p/d4a34e55f490
fork目标项目到自己的项目.
clone到本地:
git clone /yourname/project.git
更新自己的代码,与原项目保持一致
git remote add upstream /sourcename/project.git //设置原代码地址
使用 git remote -v 查看 origin 和 upstream 对应的是否正确:
origin对应的应该是自己github的地址,即yourname/project
upstream对应的应该是原项目的地址,即sourcename/project
从原项目取最新的代码合并到自己本地master分支上.
git pull upstream master
每次在动手写代码之前,已经写完代码待提交前,都应该从原项目取一下最新的代码.
git pull upstream master
处理冲突(若有冲突)
修改代码,开发....
git pull upstream master
处理冲突(若有冲突)
自己写代码时,最好在分支上开发,写完后合并到主干.
1.本地新建分支
git checkout -b new_branch
2.把本地的 nen_branch 分支保存的 github 上
git push origin new_branch
3.删除本地 add_sth 分支
git branch -D new_branch
4.删除 github 上的 new_branch 分支
git push origin :new_branch
上传代码到自己的github项目:
git push origin master
将自己写的代码pull到原项目:
GitHub提供的工具就是“Pull Request”。
如果要在fork的项目里,新建文件夹,以后自己只在此文件夹下开发,整体步骤类似上面,但是提交和更新的话,要在这个新建文件夹当前目录进行,而不能进去新建文件夹里面更新和提交
本地新建分支,开发完成,add -A , commit -am “xx”
切换到主干,合并分支
跳到上级目录,即在fork项目的目录里,add -A , commit -am “xx” , push到自己fork的项目
pull request到原项目.
文/MidSummer(简书作者)
原文链接:/p/d4a34e55f490
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
fork一个项目到贡献代码流程
/p/d4a34e55f490
fork目标项目到自己的项目.
clone到本地:
git clone /yourname/project.git
更新自己的代码,与原项目保持一致
git remote add upstream /sourcename/project.git //设置原代码地址
使用 git remote -v 查看 origin 和 upstream 对应的是否正确:
origin对应的应该是自己github的地址,即yourname/project
upstream对应的应该是原项目的地址,即sourcename/project
从原项目取最新的代码合并到自己本地master分支上.
git pull upstream master
每次在动手写代码之前,已经写完代码待提交前,都应该从原项目取一下最新的代码.
git pull upstream master
处理冲突(若有冲突)
修改代码,开发....
git pull upstream master
处理冲突(若有冲突)
自己写代码时,最好在分支上开发,写完后合并到主干.
1.本地新建分支
git checkout -b new_branch
2.把本地的 nen_branch 分支保存的 github 上
git push origin new_branch
3.删除本地 add_sth 分支
git branch -D new_branch
4.删除 github 上的 new_branch 分支
git push origin :new_branch
上传代码到自己的github项目:
git push origin master
将自己写的代码pull到原项目:
GitHub提供的工具就是“Pull Request”。
如果要在fork的项目里,新建文件夹,以后自己只在此文件夹下开发,整体步骤类似上面,但是提交和更新的话,要在这个新建文件夹当前目录进行,而不能进去新建文件夹里面更新和提交
本地新建分支,开发完成,add -A , commit -am “xx”
切换到主干,合并分支
跳到上级目录,即在fork项目的目录里,add -A , commit -am “xx” , push到自己fork的项目
pull request到原项目.
文/MidSummer(简书作者)
原文链接:/p/d4a34e55f490
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
git版本库初解(Mac OS系统,其他系统仅作参考)
/p/57ec370ed35f
一、安装git
1. OS系统上直接安装x-code即可,其自带git
2. 其余系统请参考
二、本地创建版本库
1. 本地新建版本库
1)新建版本库文件夹(名字随意)
2)初始化版本库
$ git init
查看是否生成.git文件(即版本管理文件);它是隐藏文件,用以下命令可查看
2. 版本库的使用
1)工作区与暂存区
工作区即你在本地的版本库文件夹
暂存区(stage)即存在于.git文件之中,用来中转需要提交的文件
运行机制:工作区(add)→暂存区(commit)→git(push)→github(到这成功)
工作区与暂存区
2)管理修改工作
工作区修改提交至暂存区
$ git add 'filename'
//注意有多个文件需要提交的话重复该命令即可
$ git add 'filename2'
//类似于这种就是第二份文件
$ git add .
//提交所有变动,简单粗暴
暂存区文件提交至git
$ git commit -m 'describtion'
//-m 是每次修改的备注
三、利用github远程托管版本库
1. 注册github账号并登陆
2. 获取本机的SSH公钥
1)输入获取代码,回车直到出现图片所示图形为止
$ ssh-keygen
2)输入编译代码
$ vim ~/.ssh/id_rsa.pub
3)出现SSH公钥后,将红框部分复制,并在下方输入:q,随后按下回车可以退出该窗口
4)进入到github页面设置SSH公钥
点击用户下拉菜单中的settings(step1)
点击左侧的SHH and GPG keys(step2)
在Title中输入公钥名称(随意)(step3)
在key中贴上SSH公钥(step4)
设置SSH公钥
3. 创建新的仓库
1)创建新的仓库(repOSitory)
点击用户左侧的+号菜单中的New repOSitory(step1)
在repOSitory name中输入二级域名,格式请严格遵照username.github.io(step2)
ps:username填写github的登录用户名,否则上线的时候会报错
是否公开选项可以选取Public(step3)
勾选step4处,会自动生成一份可编辑的README.md文件(建议勾选)(step4)
点击create repOSitory生成仓库完毕(step5)
2)查看新建的仓库(repOSitory)
可以回到github个人首页点击右侧的仓库区
3)关联本地版本库与远程仓库(仅首次需要关联)
$ git remote add origin 后面跟上你的远程仓库的SSH地址
4)本地版本库推动至远程
$ git push -u origin master
文/小pxu(简书作者)
原文链接:/p/57ec370ed35f
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
Git 常用配置
/blogs/git_configuration
不同级别的配置:
--local 配置单个 repo
--global 配置当前用户的所有 repo
--system 配置所有用户
配置用户名和邮箱:
$ git config --global user.username yourusername
$ git config --global user.email youremail
查看当前所有配置:
$ git config --list
查看 global 配置:
$ git config --global --list
global 配置的配置文件: ~/.gitconfig
查看local配置:
$ git config --local --list
local 配置的配置文件: repo 目录下的 .git/config
配置 autocrlf 处理不同系统中的换行:
linux 机器
$ git config --global core.autocrlf input
windows 机器
& git config --global core.autocrlf true
稍微做一下解释:如果项目组成员使用不同操作系统做开发,由于 windows 和 linux 对换行的处理不同(windows 使用CRLF作为一行的结束,linux 使用LF),这样当一个程序员在 linux 机器上 push 代码,而另一个程序员在windows 机器上 pull 代码后查看 status ,发现文件的状态都是 modified,使用 checkout -f 也无济于事,上面的配置则可以解决这一问题。
git pull 的实质是 fetch and merge,但这样会在我们 repo 历史上显示 merge 这一对我们来说没什么用的过程,我们最好配置其为 fetch and rebase:
$ git config --global pull.rebase true
有时我们可能需要多次解决同样的 merge confict,比如我们在多个 long running release 分支上 cherry-pickcommit,或者规律的 rebase 等等,幸运的是有一个配置可以帮助我们避免这一麻烦:
$ git config --global rerere.enabled true
它会让 git 记住所有 conflict 是如何解决的,然后当同样的 conflict 产生时重用它们,而且它还会让你确定这一操作是否是正确的,我强烈建议大家使用这个配置。
最后再推荐一个很好用的 alias
$ git config --global alias.lg "log --oneline --decorate --all --graph"
然后使用 git lg 命令来使用它
Git常用命令备忘
/blog/34/git-common-command
git config --global user.name "robbin"
git config --global user.email ""
git config --global color.ui true
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global core.editor "mate -w"
git config -l
用户的git配置文件~/.gitconfig
Git常用命令
查看、添加、提交、删除、找回,重置修改文件
git help &
# 显示command的help
# 显示某次提交的内容
git show $id
# 抛弃工作区修改
# 抛弃工作区修改
# 将工作文件修改提交到本地暂存区
# 将所有修改过的工作文件提交暂存区
# 从版本库中删除文件
git rm & --cached
# 从版本库中删除文件,但不删除文件
git reset &
# 从暂存区恢复到工作文件
git reset -- .
# 从暂存区恢复到工作文件
git reset --hard
# 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
# 将git add, git rm和git ci等操作都合并在一起做
git ci -am "some comments"
git ci --amend
# 修改最后一次提交记录
git revert &
# 恢复某次提交的状态,恢复动作本身也创建了一次提交对象
git revert HEAD
# 恢复最后一次提交的状态
查看文件diff
git diff &
# 比较当前文件和暂存区文件差异
git diff & &
# 比较两次提交之间的差异
git diff &..& # 在两个分支之间比较
git diff --staged
# 比较暂存区和版本库差异
git diff --cached
# 比较暂存区和版本库差异
git diff --stat
# 仅仅比较统计信息
查看提交记录
git log &file&
git log -p &file&
git log -p -2
git log --stat
Mac上可以使用tig代替diff和log,brew install tig
Git 本地分支管理
查看、切换、创建和删除分支
# 查看远程分支
git br & # 创建新的分支
# 查看各个分支最后提交信息
git br --merged
# 查看已经被合并到当前分支的分支
git br --no-merged
# 查看尚未被合并到当前分支的分支
# 切换到某个分支
git co -b & # 创建新的分支,并且切换过去
git co -b & &
# 基于branch创建新的new_branch
git co $id
# 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除
git co $id -b &
# 把某次历史提交记录checkout出来,创建成一个分支
git br -d &
# 删除某个分支
git br -D &
# 强制删除某个分支 (未被合并的分支被删除的时候需要强制)
分支合并和rebase
git merge &
# 将branch分支合并到当前分支
git merge origin/master --no-ff
# 不要Fast-Foward合并,这样可以生成merge提交
git rebase master &
# 将master rebase到branch,相当于:
git co & && git rebase master && git co master && git merge &
Git补丁管理(方便在多台机器上开发同步时用)
git diff & ../sync.patch
git apply ../sync.patch
git apply --check ../sync.patch
Git暂存管理
git stash list
# 列所有stash
git stash apply
# 恢复暂存的内容
git stash drop
# 删除暂存区
Git远程分支管理
# 抓取远程仓库所有分支更新并合并到本地
git pull --no-ff
# 抓取远程仓库所有分支更新并合并到本地,不要快进合并
git fetch origin
# 抓取远程仓库更新
git merge origin/master
# 将远程主分支合并到本地当前分支
git co --track origin/branch
# 跟踪某个远程分支创建相应的本地分支
git co -b & origin/&
# 基于远程分支创建本地分支,功能同上
# push所有分支
git push origin master
# 将本地主分支推到远程主分支
git push -u origin master
# 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
git push origin &
# 创建远程分支, origin是远程仓库名
git push origin &:&
# 创建远程分支
git push origin :&
#先删除本地分支(git br -d &),然后再push删除远程分支
Git远程仓库管理
git remote -v
git remote show origin
git remote add origin git@github:robbin/robbin_site.git
git remote set-url origin git@github.com:robbin/robbin_site.git
git remote rm &repository&
创建远程仓库
git clone --bare robbin_site robbin_site.git
scp -r my_project.git git@git.csdn.net:~
mkdir robbin_site.git && cd robbin_site.git && git --bare init
git remote add origin git@github.com:robbin/robbin_site.git
git push -u origin master
git push -u origin develop
git remote set-head origin master
也可以命令设置跟踪远程库和本地库
git branch --set-upstream master origin/master
git branch --set-upstream develop origin/develop
常用Git命令汇总
/p/0f2ffa404ac1
跟着R哥来到了新公司(一个从硬件向互联网转型中的公司),新公司以前的代码基本是使用SVN做版本控制,所以R哥叫HG做了一次Git分享,准备把公司所有的代码用Git作版本控制。平时自己虽然天天使用Git,但是总感觉知识有些零散,于是汇总了一些常用的Git命令。
git config --global user.name "xxxx"
git config --global user.email ""
git config --global core.editor vim
git config --global alias.st status
git config -l
Git中3种状态的一些操作
git add &file&
git commit &file&
git commit .
git commit -a
git commit -amend
git checkout &file&
git checkout .
git reset &file&
git reset .
git reset $id
git reset --hard $id
git reflog show master | head
git reset --hard $id
git revert &$id&
git revert HEAD
rm your_file
git add -u .
git commint -m "message"
rm your_file
git commit -am "message"
git rm &file&
git commint -m "message"
git rm --cached &file&
文件直接比较差异Diff
git diff &file&
git diff --cached
git diff &$id1& &$id2&
git diff &branch1&..&branch2&
git branch -r
git branch new_branch_name
git branch --merged
git branch --no-merged
git checkout branch_name
git checkout -b branch_name
git branch -d branch_name
git branch -D branch_name
git push origin :branch-name
git checkout -b not_master_branch
origin/not_master_branch
git pull origin not_master_branch
git push origin not_master_branch
git tag v1.0.0 [SHA]
git tag -a v1.0.0 -m "你的附注信息" [SHA]
git show v1.0.0
git tag -d v1.0.0
git push origin :refs/tags/v1.0.0
git remote -v
git remote show origin
git remote add origin git@github:robbin/robbin_site.git
git remote set-url origin :robbin/robbin
git remote rm
从远程拉取内容,提交内容到远程
git push origin master
git push -u origin master
git push origin &local_branch&
git push origin &local_branch&:&remote_branch&
git push origin :&remote_branch&
git stash list
git stash apply &暂存编号&
git stash pop
git stash clear
创建远程库
git clone --bare git_url_path
git --bare init
部分参考Robbin Fan大神的博客
文/tailang(简书作者)
原文链接:/p/0f2ffa404ac1
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
Jekyll教程——精心收藏
/kf/646.html
以前总想搭建一个自己的个人网站,由于不懂php后台,所以在点点网开过自己的博客,后来慢慢向程序员转变,点点网的博客已经不能满足这个职业特定的需求,于是用worldpress搭建了自己的第一个网站,鼓捣过几天worldpress,从购买域名空间,修改空间域名解析,添加模板,修改模板,了解了worldpress的强大之处,但是鼓捣玩了worldpress之后,没有了写文章的动力,也没有用足够的时间来管理,以至于这个网站夭折。直到现在又开始鼓捣Jekyll静态网站后台引擎,下面就讲讲Jekyll的学习,以及在用Jekyll创建网站的时候遇到的问题。
1.Jekyll基于或者bitbucket.org,后者我没有验证,应该也是支持的。不需要数据库,不需要后台知识,用Jekyll搭建个人中小型网站就是这么简单。
2.搭建流程(因为我是在windows上安装Jekyll,所以会比较麻烦):
注册一个账号,记住自己的用户名和注册时的邮箱,会在git shell验证时用到。
因为Jekyll是基于Ruby写的,所以首先安装Ruby环境,和Ruby包管理工具gem
①Ruby安装地址,根据自己的系统选择32和64bit,在链接的页面同时安装DEVELOPMENT Kit
安装后需要配置Ruby的环境变量,在系统的高级属性里面设置系统的Path,之后,可以在控制台检查Ruby是否安装成功。输入Ruby -v即可。
1 ruby dk.rb init//初始化Ruby
在Ruby安装的config文件里面配置一下Ruby的安装目录:
1 # This configuration file contains the absolute path locations of all
2 # installed Rubies to be enhanced to work with the DevKit. This config
3 # file is generated by the ‘ruby dk.rb init’ step and may be modified
4 # before running the ‘ruby dk.rb install’ step. To include any installed
5 # Rubies that were not automagically discovered, simply add a line below
6 # the triple hyphens with the absolute path to the Ruby root directory.
8 # Example:
10 # —
11 # – D:/ruby19trunk
12 # – D:/ruby192dev
14 —
15 – D:/Ruby
②安装DEVELOPMENT Kit工具使用的命令行
1 ruby dk.rb install
③在命令行工具中输入gem install jekyll来安装Jekyll。输入Jekyll -v检查是否安装成功。如果成功会返回版本号。
④同时,需要安装python环境,下载2版本或者3版本都可以。安装地址
之后就可以安装博客所需要的工具了。
  4.1需要安装一个easy_install插件
  4.2安装自己喜欢的高亮工具(highlight),例如pygments、rouge。在你的工程目录的_config.yml里面需要设置:highlighter:rough或者highlighter:pygments,不然会在生成项目是出错。
1 easy_install Pygments
⑤创建一个简单的默认博客命令:
1 jekyll new Blog
//cd是一个常用命令,到达相应的文件夹
3 jekyll serve
//使用serve和server是一样的效果
在你的localhost:4000就会有一个默认的博客模板产生。
期间会遇到一些错误:
1.配置文件报错
1 D:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/posix-spawn-0.3.9/lib/posix/spawn.rb:164
7 : warning: cannot close fd before spawn
8 ‘which’ is not recognized as an internal or external command,
9 operable program or batch file.
Liquid Exception: undefined method `[]’ for nil:NilClass in _posts/-
11 welcome-to-jekyll.markdown
12 jekyll 2.2.0 | Error:
undefined method `[]’ for nil:NilClass
解决办法:在项目的配置文件里面需要设置highlighter:rouge/pygments,传送门
2.下载RubyGems问题
Could not find a valid gem ‘jekyll’ (&= 0), here is why:
Unable to download data from https://rubygems.org/ – SSL_connect returned=1 errno=0 state=SSLv3 read server ce
3 rtificate B: certificate verify failed (https://rubygems.global.ssl.fastly.net/quick/Marshal.4.8/jekyll-1.3.0.gemspec.rz
解决办法:下载安全证书文件,在命令行运行下面的命令,如果提示curl不是外部或内部指定命令,则是你的电脑没有安装curl插件,需要下载该插件安装,很棒的一个教程,传送门
1 curl http://curl.haxx.se/ca/cacert.pem -o cacert.pem
3.安装Ruby不成功,提示错误,可以试试淘宝提供的国内镜像传送门
那么怎么通过github创建自己独有的个人网站呢?
1.下载git客户端,下载地址,下载后会有github图形界面客户端和git shell命令行工具两个,咱们使用git shell。
2.在git shell客户端输入
来初始化项目;
git checkout –orphan gh-pages
创建一个gh-pages分支,该分支用来存放你的博客的所有文件,并且只能为该名称,因为默认创建分支就是该名称;
git commit -a -m’just a test’
开始准备发布项目,记住,不要漏掉后面的英文小数点;
git remote add origin /username/projectName.git
git push origin gh-pages
这样的话你的项目就创建成功。
使用git的push钩子完成项目的自动部署和邮件通知
http://blog.dreamlu.net/blog/61
程序手动去部署总是很不爽,编译-&打包-&重启服务器总感觉很繁琐!
在将本博部署到自己的服务器后顺便弄了一个自动部署的小玩意,其核心就是采用的开源中国的git仓库的push钩子,其他不多说了!
第一步:开启push钩子
第二部: 接收push钩子的消息和邮件发送
第三部:完成代码更新编译和服务器重启
具体可查看本站源码,戳一下左下角的“本站源码”
Git 网站程序发布流程 建立Repo代码仓库和客户端
.cn/s/blog_6fbe2ffd010172wn.html
1.服务器端创立代码仓库Repo
$ cd /home/username/git
$ mkdir myrepo.git
$ cd myrepo.git/
$ git --bare init
* 如果已有一个repo了,使用下面的方法将其转化为bare的
$ git config --bool core.bare true
之后可删除除了repo根目录.git文件夹之外的所有文件,即只保留专用目录
2.客户端创建repo 发送更新程序
到程序目录下
$ git init
$ git add .
$ git commit -m "initial commit"
$ git remote add origin /home/username/git/myrepo.git
$ git push origin master
3.客户端(网站服务器)创建repo 接受更新程序
$ git init
$ git remote add origin /home/username/git/myrepo.git
$ git pull origin master
4. 错删文件的恢复:
$ git status
$ git checkout -- &file&
5. 恢复到服务器的版本
$ git reset HEAD ^
6. 把文件从git库中移除,但是不删除文件
$ git rm --cached &filename&
No related posts.
一个年轻程序员对版本管理的理解
/blog//version-control/
版本管理是每一个项目中必不可少的环节,但这些知识却无法在学校中学到,常常需要在实践中学习,我总结了一些自己工作中版本管理的知识和经验,希望能给大家带来一起启发。 本文章是有感于某外包公司因为人少竟然不用版本管理而发。部分内容参考网上资料。
为什么做版本管理
如果你不做版本管理:
你有没有出现过误删程序代码?
你有没有出现过程序刚刚还运行好好的,现在就不行了,但是忘记修改了什么?
你是不是在某个时候也很想知道某个文件在某个时间段做过哪些修改?
你有没有想过和别人合作?
如果以上的答案是肯定的,那么你需要版本管理。
注:即便是单人进行项目开发,比如某些自由职业者,使用版本管理也是非常有用的,没有版本管理你永远无法对项目有一个清晰的认识。
Git还是SVN?
现在比较常用的版本管理软件有git和svn,两者的区别我列一下(我以git作为标尺):
1. Git比SVN能更好的Merge,有木有?有木有?我要对SVN的Merge咆哮了!!
2. Git比SVN快,比SVN更灵活。
3. Git的库比SVN小太多,Mozilla项目小了30倍,Git的branch省很多资源。
4. Git基于分布式设计,开发人员有代码的完全控制权,Git也完全具有SVN的集中式代码管理的能力。
5. 基于分布式的设计,Git的每一次提交都是成功的,而且不依赖网络连接。
6. Github有你需要的大多数开源项目。
1. SVN允许从服务器中获取某个子目录;Git要求你必须clone整个库。
2. SVN在windows上支持更好,中国使用windows编程的人更多。
3. GUI方便SVN支持的更好,有更多的可视化选择。
4. SVN中顺序的版本号非常人性化,Git中中使用SHA1最为commit唯一标志,复杂。
5. SVN你可以更多的使用并学习,Git需要更长的时间去学习使用。
如果是没有接触过任何版本管理的新手,建议你直接学习Git,可能会花一段时间才能完全熟悉Git,但这是值得的,当你熟悉了Git,再使用SVN就很容易上手,况且使用Git的项目会越来越多,越多,多……
版本管理中的一些些总结
我使用的是Git,我使用的IDE是Xcode;
1. 尽量使用GUI
GUI能更好更快的以可视化展现你的 log、commit、diff等,如果你想更效率的工作,请使用GUI,比如 Mac上的 git gui和 gitk是两个很好很强大的工具,大大的提升了提交速度,也可以更直观的了解各个 branch的关系。
2. 尽快提交,经常提交
尽快提交和经常提交有如下好处:
每一个提交都是一个新的版本,你又多了一个回滚的机会。
经常提交可以更好的让与你合作者了解到你的工作进度,也为更少的Merge做准备。
尽快提交让你降低出现代码未提交丢失的可能性。
3. 只提交可以work的代码
这条经验和第一条“尽快提交,经常提交”一样重要,与别人合作的时候,如果你check out到了他的某一个commit,你不希望在这个点是无法编译成功的。所以尽力让每一次提交都不影响整个项目。
4. 提交前请检查你的更改
有以下内容需要你去检查:
是否提交了无关的内容?
是否提交的内容是你想要提交的内容?这句话并不矛盾。
提交内容的代码格式是否正确,我想每一个公司都会有自己的代码格式要求。
5. 认真填写“Commit messages”
你要了解 Commit messages就是你所提交的内容的中心思想,如果你写了一堆废话,不如不写。
如果你不希望每次都查看提交细节,请认真书写你的commit messages,这对以后版本管理有太多好处了,这在团队合作中太重要了。
即便你一个人写你一个人的代码,你也要为你自己的每一次提交负责,因为你不想在以后浪费更多的时间。
6. 做好你的.gitignore
请ignore掉不需要的文件或者编译生成的一些临时文件,比如mac目录下的.DS_Store,比如Android项目生成的bin中的内容。
7. 要注意IDE项目文件
两点需要你注意:
xcode 的项目我会只提交一个 projectname.xcodeproj/project.pbxproj,其余的文件是一些类似个人配置文件,不需要提交。
请把project.pbxproj的提交与源代码的提交分开,原因是project.pbxproj是无法merge的。
如果我说的部分有任何问题,请赐教,也希望能和你关于版本管理有一些交流。
参考资料:
git版本控制:如何处理当前分支为*(no branch)的情况
http://blog.csdn.net/guoguo295/article/details/8205875
在使用git branch命令查看当前环境所在的开发分支时,如果出现*(no branch),则表示当前不处于任何分支,这时可以通过如下几种方法处理,以便于后续项目版本的管理:
1:git checkout -b 分支名;此时新创建的分支与*(no branch)软件一样
2:如果想将*(no branch)合并到主分支master,则首先执行git log命令,记住第一行的id号,然后执行git checkout master命令,此时出现的第一行信息中也会出现一个id号,与之前执行git log中第一行出现的id号是一致的,此时就已经切换到了主分支上来了,然后执行git merge id将*(no branch)软件合并到主分支;
如果主分支与*(no branch)软件内容有差异的文件比较多,则建议使用第一种方法,如果有差异的软件不多,则可以使用第二种方法。
亦可参考/questions/56722/git-seemed-to-be-in-no-branch-and-then-lost-my-changes
# if you have already checked out to master,
# you won’t know the commit-ish of your “no branch”:
git fsck –lost-found # (to find your &commit-ish&)
git merge &commit-ish&
# if you are still on your “no branch” commit:
git log # (the commit-ish will be on the first line)
git checkout master
git merge &commit-ish
git log | head -n 1 | cut -d ‘ ‘ -f 2 | pbcopy
git checkout master
git merge &commit-ish&
/deercoder/archive//160007.aspx
最近在使用Git管理项目工程的时候,遇到了很多问题,也学习到了很多关于Git常见使用的技巧,下面就其中关于Git Stash的用法和大家分享下。
首先,简单介绍下Git Stash命令的用法,详细的用法在man文档中有相关介绍,下面我来说明常见的使用。
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
关于Git Stash的详细解释,适用场合,这里做一个说明:
使用git的时候,我们往往使用branch解决任务切换问题,例如,我们往往会建一个自己的分支去修改和调试代码, 如果别人或者自己发现原有的分支上有个不得不修改的bug,我们往往会把完成一半的代码 commit提交到本地仓库,然后切换分支去修改bug,改好之后再切换回来。这样的话往往log上会有大量不必要的记录。其实如果我们不想提交完成一半或者不完善的代码,但是却不得不去修改一个紧急Bug,那么使用’git stash’就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修 Bug,等到修完Bug,提交到服务器上后,再使用’git stash apply’将以前一半的工作应用回来。也许有的人会说,那我可不可以多次将未提交的代码压入到栈中?答案是可以的。当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,’git stash list’命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用’git stash apply stash@{1}’就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用’git stash clear’来将栈清空。
在这里顺便提下git format-patch -n , n是具体某个数字, 例如 ‘git format-patch -1’ 这时便会根据log生成一个对应的补丁,如果 ‘git format-patch -2’ 那么便会生成2个补丁,当然前提是你的log上有至少有两个记录。
看过上面的信息,就可以知道使用场合了:当前工作区内容已被修改,但是并未完成。这时Boss来了,说前面的分支上面有一个Bug,需要立即修复。可是我又不想提交目前的修改,因为修改没有完成。但是,不提交的话,又没有办法checkout到前面的分支。此时用Git Stash就相当于备份工作区了。然后在Checkout过去修改,就能够达到保存当前工作区,并及时恢复的作用。
下面,将我使用过程中遇到的一个问题和大家分享:
首先,在Git Stash之后,提交图如下所示:
从图中可以看到,develop和newdevelop是在同一个分支上,因为分支newdevelop是在develop分支的基础上开发的。想加入一个新的特性,所以就开了newdevelop分支,然后就在上面加东西,加特性,该代码。这个时候工作的内容已经变化了,但是develop和newdevelop都是指向同一个提交的,因为newdevelop上面还木有提交。
这个时候,Boss来了,说develop上面有个Bug,赶快改一下,手头的工作先放放,稳定版本不能有缺陷。没办法,当前正在newdevelop上搞的high呢,就Git Stash一下。所以会看到上面有两个节点,红色以及上面一个。就是stash之后的结果,注意是在newdevelop上面进行的stash。
正如前面所说,stash会暂存当前的工作区内容,然后将工作区内容保持和上次提交相同,此时内容都是上面8a32那个提交的内容。从终端中查看相应的信息内容,如下:
印证了签名的说法,newdevelop是有修改,modified,然后stash之后,工作区是最近一次提交,此时newdevelop和develop都是相同的,所以再git status查看发现,都一样,nothing to commit.
然后Stash完成之后,就要Fix Bug了。为此,回到develop分支上进行修复,然后提交,完成后的提交图如下所示:
从途中可以看到,newdevelop还是在下面,因为指向的是老的那个8a32的commit。新的develop由于修复了Bug,所以产生一个新提交。
然后在develop上面修复了Bug之后,在回到newdevelop上面进行一个新的特性的继续编码,此时checkout回去的时候,没有神马内容可以提交,因为都存在Stash中了,没有任何修改。如上图。
那么,恢复工作区内容吧。于是git stash pop(注意这里由于只Stash了一次所以使用pop,具体你存放了多少,要恢复哪一个要自己清楚,否则会出错!)
恢复之后,从上图中可以看到,此时再git status就会发现文件有修改,说明恢复过来了。然后就继续编码,提交一个稳定的新特性版本,如下图,产生的新提交为0906.
然后再查看提交图,会发现,stash pop之后,对应的存放的stash被清空掉了,提交图中,newdevelop上面对应一个新的提交。并且在develop上面。分支的develop那个红色,即为前面修复Bug的那个提交。
总结起来:
操作很简单,但是头脑要清楚。要在哪个分支上修复Bug,要暂存哪个地方的内容,之后修复完了在那个地方提交,然后要到哪个分支上面恢复工作区,都是需要注意的,否则,很容易造成提交图混乱。只有弄清楚了工作流程,才不容易出错,才能保证很高的工作效率。
最后一句:Git是神器,就要看你如何驾驭它了。
No related posts.
用gitlab的webhooks同步更新网站
/archives/107
承认需求有点奇葩
git有hooks钩子,但不太喜欢用ftp或者http方式同步更新其他服务器的网站。所以选择了gitlab,因为gitlab有webhooks。github也有webhooks,不过github太高富帅了,还是自己搭一个gitlab,安全又放心,关键是免费。
操作过程如下:
要放在服务器上的目录: /home/wwwroot/mysite
在项目跟目录下面新建一个hooks.php,输入以下代码
//网站目录
$www_file=’/home/wwwroot/mysite/’;
//打开网站目录下的hooks.log文件 需要在服务器上创建 并给写权限
$fs = fopen($www_file.’hooks.log’, ‘a’);
fwrite($fs, ‘================ Update Start ===============’.PHP_EOL.PHP_EOL);
//自定义字串掩码 用于验证
$access_token = ‘s7kjjhh8767laq29KLJK9089883hjjkgfdrrpipoinmw’;
//接受的ip数组,也就是允许哪些IP访问这个文件 这里是gitlab服务器IP
$access_ip = array(&#.8.8’);
//获取请求端的ip和token
$client_token = $_GET[‘token’];
$client_ip = $_SERVER[‘REMOTE_ADDR’];
//把请求的IP和时间写进log
fwrite($fs, ‘Request on [‘.date(“Y-m-d H:i:s”).’] from [‘.$client_ip.’]’.PHP_EOL);
//验证token 有错就写进日志并退出
if ($client_token !== $access_token)
echo “error 403”;
fwrite($fs, “Invalid token [{$client_token}]”.PHP_EOL);
if ( !in_array($client_ip, $access_ip))
echo “error 503”;
fwrite($fs, “Invalid ip [{$client_ip}]”.PHP_EOL);
//获取请求端发送来的信息,具体格式参见gitlab的文档
$json = file_get_contents(‘php://input’);
$data = json_decode($json, true);
//如果有需要 可以打开下面,把传送过来的信息写进log
//fwrite($fs, ‘Data: ‘.print_r($data, true).PHP_EOL);
//执行shell命令并把返回信息写进日志
$output=shell_exec(“cd $www_file && git checkout master && git pull origin master 2&&1”);
fwrite($fs, ‘Info:’. $output.PHP_EOL);
fwrite($fs,PHP_EOL. ‘================ Update End ===============’.PHP_EOL.PHP_EOL);
$fs and fclose($fs);
做完这些后,就可以push到gitlab端了
有个问题说明一下,对于MVC来说,gitlab的请求并不会走路由,所以不要用路由方式来加这个文件
接着登陆网站服务器
$ vi /etc/passwd
查看这个文件,然后查看www的根目录
我这里是 /home/www
运行which git 我这里得到 /usr/local/bin/git
记住这两个目录
接着把gitlab中项目的ssh key对应的秘匙id_rsa放入/home/www/.ssh里
.ssh需要700的权限
$ chmod -R 700 .ssh
接着给网站目录www权限
$ chown -R www:www /home/wwwroot/mysite
进入网站目录
cd /home/wwwroot/mysite
初始化git 并设置权限
$ git init
$ chmod -R g+s .git
$ chown -R www:www .git
接着配置git
$ git remote add origin
完成上面的操作后就可以手动自行第一次pull操作了 从远程获取
sudo -u www /usr/local/bin/git pull origin master
最后进入gitlab中项目settings设置 在web hooks里
/hooks.php?token=s7kjjhh8767laq29KLJK9089883hjjkgfdrrpipoinmw
这里的token要和你在hooks.php的token一致
做完这些以后就可以pull了,做一次提交,看是不是同时自动更新了网站
最后:如果web hooks不能正常工作的话,可以看下hooks.log看下执行的信息
补充两个问题:
1.在手动创建/home/www/.ssh 文件夹后,不能忘了改变这个文件夹的所有者,不然会出现无法写入know_hosts的问题
$chown -R www:www /home/www/.ssh
2.因为代码中使用到了shell_exec这个函数,一般配置php的时候都禁止了,需要打开shell_exec
在php.ini的disable_functions 的列表里删除shell_exec
再重新启动php-fpm服务就可以了
使用git部署和同步网站
/archives/101
不提团队合作与版本控制,git在部署和同步网站的效率要高于ftp和wget的方式(因为多线程增量同步),并且搭建git要比SVN容易的多啊。
过程记录如下:
服务器端(centos6.x)
#安装必备组件
$ yum install -y gettext-devel expat-devel curl-devel zlib-devel openssl-devel gcc perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
#下载git 解压并进入目录
$ wget $ tar -zxvf git-1.9.4.tar.gz
$ cd git-1.9.4
$ ./configure
$ make&&make install
安装完成后
$ whereis git
可以查看安装的目录
$ git –version
可以查看git版本
本地(WIN7)
下载forwindows版本
安装好后在命令行运行
$ git –version就可以看到版本
2.服务器端
假设网站地址 /home/wwwroot/
$ mkdir /home/git/.git
$ cd /home/git/.git
$ git init –bare
$cat & hooks/post-receive
#!/bin/bash
GIT_WORK_TREE=/home/wwwroot/ git checkout -f
按crtl+d保存
$ chmod +x hooks/post-receive
/home/git/.git就是git的线上仓库
假设本地网站在E:\
$ cd $ git init
$ git add -A
$ git commit -q -m “mysite”
注意在执行git add -A 添加本地所有的文件前,先检查下根目录下是否有.gitignore 文件,像laravel站点就会有,.gitignore指定不进行版本控制的文件及文件夹 注释掉或者暂时移除
$ git remote add 远程库名 ssh://ssh用户名@服务器IP/home/git/.git
$ git push 远程库名 +master:refs/heads/master
执行过程中需要输入ssh密码
然后去服务器端看一下,是不是已经上传到服务器了
平时有修改的时候,命令行进入站点目录后
$ git commit -am “mysite”
$ git push 远程库名
就可以更新到服务器了
使用git clone可以同步到本地
4.使用ssh key避免每次都输入密码
考虑到win上面创建ssh key还需要下载ssh keygen比较麻烦,还是在服务器端直接生成
$ cd /root/.ssh
如果/root/.ssh这个目录不存在 就创建它 并赋予它700权限
$ mkdir /root/.ssh
$ chmod -R 700 /root/.ssh
$ cd /root/.ssh
$ ssh-keygen
就可以创建公匙 和秘匙对
一路回车会在/root/.ssh下创建id_rsa 和 id_rsa.pub两个文件 其中id_rsa.pub是公匙,将他变为authorized_keys
$ cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
$ chmod 644 /root/.ssh/authorized_keys
接着编辑/etc/ssh/sshd_config
$ vi /etc/ssh/sshd_config
去掉下面3行的注释
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
接着重启sshd
$ /etc/init.d/sshd restart
接着把id_rsa下载到本地电脑 然后在服务器端删除
$ rm -rf /root/.ssh/id_rsa
接下来回到本地电脑,先在当前用户的文件夹下创建一个.ssh文件名
cd c:\Users\你的用户名
mkdir .ssh
鼠标是创建不了带.号名称的文件夹的,所以需要使用命令行
接着把下载下来的id_rsa文件放入这个.ssh文件夹中就可以了
再次push的时候,会提示你是否保存信息,输入yes回车 .ssh文件夹下会多一个known_hosts
之后使用git 就不需要输入密码了
如果说在另外台服务器上也部署了git咋办
其实只要把
/root/.ssh/authorized_keys
拷贝过去就可以
6.补充一些
试了一下,其实本机也是可以用命令生成公密匙对的
cd c:\Users\用户名
ssh-keygen 回车
接着按提示输入.ssh\id_rsa
一路回车就会在.ssh中生成 id_rsa密匙 和id_rsa.pub公匙
把id_rsa.pub 上传到 /root/.shh下并改名为authorized_keys并给644权限就好
另外呢其实服务器端的.ssh文件夹是在 ~路径下,也就是你当前用户文件夹下,如果是root就是/root/.ssh 如果是gituser就是/gituser/.ssh
最后可以使用puttygen生成一个ppk文件给putty用,这样使用putty登陆服务器就不用输入用户名密码了
方法是打开puttygen 点conversions -& import key
选择生成的密匙 id_rsa
然后点save private key
保存为id_rsa.ppk就可以给putty用了
Git Snippet 命令记录
http://x-/git-snippet.html
克隆一个仓库到当前目录不新建文件夹
git clone http://url.git –bare
设置global git proxy的网址
git config –global http.proxy proxy:port
git config –global https.proxy proxy:port
Gitlab 搭建笔记
http://x-/gitlab-installtion-note.html
Gitlab 搭建笔记
以下安装的环境
ubuntu 12.04 64位
官网很简短的几句话看完就安装完了 网址:/downloads/
wget https://downloads-packages./ubuntu-12.04/gitlab_7.6.2-omnibus.5.3.0.ci.1-1_amd64.deb
sudo apt–get install openssh–server
sudo apt–get install postfix # Select ‘Internet Site’, using sendmail instead also works, exim has problems
sudo dpkg –i gitlab_7.6.2–omnibus.5.3.0.ci.1–1_amd64.deb
sudo gitlab–ctl reconfigure
安装完了之后就可以直接登陆了
第一次登陆需要更改管理员密码
FAQ 和常用设置 /gitlab-org/omnibus-gitlab/blob/master/README.md
腾讯企业邮箱
测试邮箱是不是设置成功,可以新建sshkey或者新建用户,看看有没有收到邮件
gitlab_rails[‘smtp_enable’] = true
gitlab_rails[‘smtp_address’] = “smtp.”
gitlab_rails[‘smtp_port’] = 25
gitlab_rails[‘smtp_user_name’] = “发送邮件的帐号”
gitlab_rails[‘smtp_password’] = “发送邮件帐号的密码”
gitlab_rails[‘smtp_domain’] = “”
gitlab_rails[‘smtp_authentication’] = :plain
gitlab_rails[‘smtp_enable_starttls_auto’] = true
gitlab_rails[‘gitlab_email_from’] = “与发送邮件的帐号相同”
user[“git_user_email”] = “与发送邮件的帐号相同”
/gitlab-org/omnibus-gitlab/blob/master/README.md
看文档的backup段
备份配置文件 `/etc/gitlab/gitlab.rb’ 到当前目录下
# Example backup command for /etc/gitlab:
# Create a time-stamped .tar file in the current directory.
# The .tar file will be readable only to root.
sudo sh –c ‘umask 0077; tar -cf $(date “+etc-gitlab-%s.tar”) -C / etc/gitlab’
deploy key 设置
一个key可以被好几个 project 共用,先设置好一个deploy key后,就可以在别的项目的 Deploy keys from projects available to you 找到自己刚刚设置好的key,enable了就行了
运维坑记录
如果push的时候遇到了 You don’t have the permission! 的错误的时候,估计是gitlab默认保护了master分支的缘故,找到开关,unprotected就行了
千万不要用迅雷下载然后传上去,md5对不上,会提示格式错误,需要wget下来
git push -u origin 一直提示 git pull
git push -u origin 一直提示 git pull – SegmentFault
原先已经提交过git,后来把 .git 文件夹删除了。
现在重新提交
git push -u origin master
一直提交不了!git pull 了很多遍也是一样。
Administrator@PC-LOZL /D/PC/pc_ppgame (master)
$ git status
n branch master
nothing to commit, working directory clean
/D/PC/game (master)
git push -u origin
arning: push. its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.
In Git 2.0, Git will default to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
To git@bitbucket.org:dft/ppgame.git
! [rejected]
master -& master (fetch first)
error: failed to push some refs to 'git@bitbucket.org:dft/ppgame.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
/D/PC/game (master)
git status
n branch master
nothing to commit, working directory clean
/D/PC/game (master)
git pull -u origin
warning: no common commitsOZL
remote: Counting objects: 2190, done.
remote: Compressing objects: 100% (), done.
remote: Total 2190 (delta 184), reused 2171 (delta 175)
Receiving objects: 100% (), 27.91 MiB | 256.00 KiB/s, done.
Resolving deltas: 100% (184/184), done.
From bitbucket.org:dft/ppgame
* [new branch]
-& origin/master
There are no candidates for merging among the refs that you just fetched.
/D/PC/game (master)
git status
n branch master
Untracked files:
(use "git add &file&..." to include in what will be committed)
/D/PC/game (master)
git push -u origin master
o git@bitbucket.org:dft/ppgame.git
! [rejected]
master -& master (non-fast-forward)
error: failed to push some refs to 'git@bitbucket.org:dft/ppgame.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
git push -u origin 一直提示 git pull - SegmentFault
Updates were rejected because the tip of your current branch is behind提示不是说的很清楚了么,你的远程仓库的分支比本地的代码要新所以有冲突,你要么把冲突解决掉再提交要么开新分支提交要么就直接git push --force(多人协作请慎重-。-)。git pull不行是因为你修改了本地,所以远程过来的时候又会有冲突。建议多人协作的时候还是开分支好点。
No related posts.
GitHub push时提示“fatal: The remote end hung up unexpectedly”
/Leon5/archive//2222002.html
这几天在学习git的使用,顺便去网上找个了git代码仓库练练手。
注册用户,建立项目什么的都很顺利。
然后网站提示如下:
首先,配置自己的git。
然后建立项目,添加文件,上传修改……
然后,喀……扯到蛋了。
上传时git提示:
Agent admitted failure to sign using the key. Permission denied (publickey)
fatal: The remote end hung up unexpectedly
查看github的
#1. Check for SSH keys.
$ cd ~/.ssh
#2. Backup and remove existing SSH keys.
$ lsLists all the subdirectories in the current directory
$ mkdir key_backupmakes a subdirectory called "key_backup" in the current directory
$ cp id_rsa* key_backupCopies the contents of the id_rsa directory into key_backup
$ rm id_rsa*
#3. Generate a new SSH key.
$ ssh-keygen -t rsa -C "your_"
#4. Add your SSH key to GitHub.
#5. Test everything out.
大概意思就是你现在本地建立自己的SSH密码对,然后将公钥上传到github就行了。
额,好复杂……按照提示折腾了一下,果然可以了。
赞助服务器运行一天
2017年二月
20212223242526
(欢迎收录正常的同类网站交换链接:)

我要回帖

更多关于 迈克菲全方位实时保护可以卸载吗 的文章

 

随机推荐