博客git主题739版本|设计做图 可以用git版本控制吗

|

1. wordpress云落git主题如何添加产品页面,请详细一点

最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可… 这款主题是云落在欲思主题基础上做的二次开发,云落学习WordPress时间不长,所以代码

2. 如何在CentOS 7中安装Git

CentOS下Git服务器搭建与客户端安装时间:2014-05-14 来源:blog.51cto.com大纲:一、前言二、搭建Git服务器yum安装Git服务器创建一个git用户,用来运行git服务创建客户端登录证书初始化Git仓库禁用shell登录克隆远程仓库三、安装客户端Windows 客户端linux 客户端四、总结注,测试机 CentOS 5.5 x86_64,Git 服务器版本:git version 1.8.2.1,客户端版本:git version 1.9.2.msysgit.0。所有软件请到这里下载:http://msysgit.github.io/。一、前言在上一篇博客中我们主要讲解Git是什么,Git的基本原理,讲解一些有关Git的基础知识,让我们简单的了解一下Git,当然我们还有很多问题没有搞清楚,嘿嘿!不管理怎么样,在我们弄清楚这些问题之前,我们得有台Git服务器是吧,嘿嘿!好了,下面我们就来一起搭建一台Git服务器。二、搭建Git服务器1.yum安装Git服务器[[email protected] ~]# cd src/[[email protected] src]# wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm[[email protected] src]# rpm -ivh epel-release-5-4.noarch.rpmPreparing… ########################################### [100%] package epel-release-5-4.noarch is already installed[[email protected] ~]# yum list[[email protected] ~]# yum install -y git2.创建一个git用户,用来运行git服务[[email protected] ~]# adser git3.创建客户端登录证书注,收集所有需要登录的用户的公钥,就是他们自己生成的id_rsa.pub文件,把所有公钥复制到/home/git/.ssh/authorized_keys文件里,一行一个。嘿嘿!1).客户端生成id_rsa.pub文件的命令$ ssh-keygen -t rsa$ cat .ssh/id_rsa.pubssh-rsa ++N3wEAQRYDmcYo1wmnm/4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+== [email protected]注,一路回车即可,将生成的id_rsa.pub,复制给管理员,帮你在服务器上增加一下,下次你用git时就不需要输入用户名和密码了。2).查看服务器上authorized_keys文件[[email protected] ~]# cat /home/git/.ssh/authorized_keysssh-rsa wBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs++/+kJzJSKUTKDVSwY3/+Q== [email protected]ssh-rsa +PSK9PSg+bwiJ2iQRa39rXck35r+//RiCiYzd3RT/+S/LD3vx2MN+FNOHwvqcE+/5yEqSgAkioa8SVMOsikYJG//RZ54Q== [email protected]ssh-rsa ++N3wEAQRYDmcYo1wmnm/4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+== [email protected]说明:我这里有三个用户登录服务器,所以我这里就有三个ssh-rsa,大家可以看一下。4.初始化Git仓库注,先选定一个目录作为Git仓库,这里是/data/git/project.git。[[email protected] ~]# cd /data/git/[[email protected] git]# git init –bare project.git[[email protected] project.git]# lsbranches config description HEAD hooks index info objects refs执行以上命令 Git命令,会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:[[email protected] git]# chown -R git.git project.git[[email protected] git]# ls -l总计 4drwxr-xr-x 7 git git 4096 05-09 13:50 project.git5.禁用shell登录注,出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:[[email protected] ~]# cat /etc/passwd | grep gitgit:x:1001:1001:git version control:/home/git:/bin/bash改为:[[email protected] ~]# vim /etc/passwdgit:x:1001:1001:git version control:/home/git:/usr/bin/git-shell这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。6.克隆远程仓库注,现在可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:注,$ git clone [email protected]:/data/git/project.git,其中git用户名,git.jjhh.com服务器,/data/git/prgject.git是仓库路径。好了,到这里服务器的搭建到这里就完成了,下面我们来安装一下客户端。三、安装客户端1.Windows 客户端1).下载客户端注,大家到这里下载http://msysgit.github.io/。下面简单演示一下安装过程,比较简单:好了,到这里就安装完成了,安装好以后会在桌面上有个图标,你双击打开即可。如下图:2.Linux 客户端注,Linux客户端安装就比较简单了,直接用yum安装一下就好!1 [[email protected] ~]# yum install -y git到这里git就安装完成了,下面我们查看一下版本:12 [[email protected] ~]# git –versiongit version 1.8.2.下面我们生成公钥并复制到服务器上:[[email protected] ~]# ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Created directory '/root/.ssh'.Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:48:3c:22:76:02:f1:a2:e5:27:22:cb:4f:a7:a0:98:9d [email protected][[email protected] ~]# cat .ssh/id_rsa.pubssh-rsa ++U7zP/hr6HzfqeZU09Ccis4yK3RMwip2f+/ug2M68Z0jQk5DVG8w5+/V7eOkrvBMDh9nDdwvDhPhuhBDSfE++B18MQ== [email protected]下面我们复制id_rsa.pub里的公钥到服务器的authorized_keys文件中。[[email protected] ~]# su gitbash-3.2$ cdbash-3.2$ vim .ssh/authorized_keysssh-rsa wBVd++YmJFhqwkITNGccrO5sycROs9+Fbjgd6oBSzNuaBtCIbwNNsEyM/henTl2euI3XsnJQ/ITr6c/q0P3WoGl4E2QFQ2kZqs++/+kJzJSKUTKDVSwY3/+Q== [email protected]ssh-rsa +PSK9PSg+bwiJ2iQRa39rXck35r+//RiCiYzd3RT/+S/LD3vx2MN+FNOHwvqcE+/5yEqSgAkioa8SVMOsikYJG//RZ54Q== [email protected]ssh-rsa ++N3wEAQRYDmcYo1wmnm/4NQ+CAN45tqfsRuf58Uba9QNK7/6xSUiIKXQiILz8PMGJ3MnlV+== [email protected]ssh-rsa ++U7zP/hr6HzfqeZU09Ccis4yK3RMwip2f+/ug2M68Z0jQk5DVG8w5+/V7eOkrvBMDh9nDdwvDhPhuhBDSfE++B18MQ== [email protected]下面我们clone一个仓库到本地的目录中。[[email protected] ~]# cd /data/dev[[email protected] dev]# git clone [email protected]:/data/git/project.gitCloning into 'project'…The authenticity of host 'git.jjhh.com (114.112.173.150)' can't be established.RSA key fingerprint is ca:ec:a2:7e:e6:89:ca:19:d3:93:7f:4b:c3:c0:c7:fd.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'git.jjhh.com,114.112.173.150' (RSA) to the list of known hosts.remote: Counting objects: 50, done.remote: Compressing objects: 100% (42/42), done.remote: Total 50 (delta 21), reused 0 (delta 0)Receiving objects: 100% (50/50), 4.02 KiB, done.Resolving deltas: 100% (21/21), done.[[email protected] dev]# lsproject[[email protected] dev]# cd project/[[email protected] project]# lsindex.html好了,到这里我们的git客户端到这里就全部安装完成了。

3. WordPress的Git主题如何去掉ThemeBY云落

最近为一个博客选择主题时,发现了一个关于WP版权的问题,在页面上存在主题作者的版权信息,一般情况下,我是比较赞成保玲篆作者信息的,只是对这个主题,作者加了不少链接呀,乱七八糟的,有些反感了,但是,如何去掉WP主题上的版权信息呢?找到了主题下的footer.php文件进行,修改过后,发现一打开博客,页面堤示主题使用不了,版权信息不能变更再打开footer.php,仔细查看,才这段注释:于是在主题中,搜索下跟下面版权相关的函数,发现有个函数,此函数echo出来内容经过加密…正在思量着是不是要改改函数,顺便看看网上是不是有哥们遇到同样的问题,Google之,发现早有人想出了简单方法: 注释掉!使用以下方法将你要去掉的那段版权信息给注释掉。修改完footer.php直接上传,OK,搞定了Related posts:Google官方称网页加载速度列入pagerank算法div+css和table的加载速度对SEO的影响网站开发少走弯路的18条心德error="this.style.display='none'" ismap="ismap"/>

4. 设计做图 可以用git版本控制吗

使用github作为静态博客的托管,比如jekyll、hexo等使用git来管理自己的工作文档(使用纯文本文件markdown,word之流的不适用)使用github来向开源程序的作者提问题(比email更方便一些,且能得到更多的人的帮助)使用git做网站维护(每次先将网站的服务器上的程序程序下载到本地,修改过commit到git后再覆盖到网站的服务器上)使用git做程序代码收集器,使用分支和标签的功能来管理同一套的程序各种主题、插件等内容。

5. git mv命令如何使用

git 命令 (gnu interactive tools)功能说明:文字模式下的文件管理员。语 法:git 命令补充说明:git命令是用来管理文件的程序,它十分类似DOS下的Norton Commander,具有互动式操作界面。它的操作方法和Norton Commander几乎一样,略诉如下: F1 :执行info指令,查询指令相关信息,会要求您输入欲查询的名称。 F2 :执行cat指令,列出文件内容。 F3 :执行gitview指令,观看文件内容。 F4 :执行vi指令,编辑文件内容。 F5 :执行cp指令,复制文件或目录,会要求您输入目标文件或目录。 F6 :执行mv指令,移动文件或目录,或是更改其名称,会要求您输入目标文件或目录。 F7 :执行mkdir指令,建立目录。 F8 :执行rm指令,删除文件或目录。 F9 :执行make指令,批处理执行指令或编译程序时,会要求您输入相关命令。 F10 :离开git文件管理员。 —————– Git命令具体使用——————————-Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版本控制工具可以对开发产生如此之多的影响,文章分为两部分:第一部分,介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理第二部分,重点介绍Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅 Git是什么Git 在Wikipedia上的定义:它是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。Git 最初被Linus Torvalds开发出来用于管理Linux内核的开发。每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络和中心服务器。Git 的出现减轻了许多开发者和开源项目对于管理分支代码的压力,由于对分支的良好控制,更鼓励开发者对自己感兴趣的项目做出贡献。其实许多开源项目包括 Linux kernel、Samba、X.org Server、Ruby on Rails,都已经过渡到使用Git作为自己的版本控制工具。对于我们这些喜欢写代码的开发者嘛,有两点最大的好处,我们可以在任何地点(在上班的地铁 上)提交自己的代码和查看代码版本;我们可以开许许多多个分支来实践我们的想法,而合并这些分支的开销几乎可以忽略不计。Git 1+1现在进入本篇文章真正的主题,介绍一下Git的基本命令和操作,会从Git的版本库的初始化,基本操作和独有的常用命令三部分着手,让大家能够开始使用Git。Git 通常有两种方式来进行初始化:git clone: 这是较为简单的一种初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份例如:git clone git://github.com/someone/some_project.git some_project 上面的命令就是将'git://github.com/someone/some_project.git'这个URL地址的远程版本库完全克隆到本地some_project目录下面git init和git remote:这种方式稍微复杂一些,当你本地创建了一个工作目录,你可以进入这个目录,使用'git init'命令进行初始化,Git以后就会对该目录下的文件进行版本控制,这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建一个目录,并把 可访问的URL记录下来,此时你就可以利用'git remote add'命令来增加一个远程服务器端,例如:git remote add origin git://github.com/someone/another_project.git上面的命令就会增加URL地址为'git: //github.com/someone/another_project.git',名称为origin的远程服务器,以后提交代码的时候只需要使用 origin别名即可 Git 的基本命令现在我们有了本地和远程的版本库,让我们来试着用用Git的基本命令:git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的updategit add:是 将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如'git add app/model/user.rb'就会增加app/model/user.rb文件到Git的索引中,该功能类似于SVN的addgit rm:从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb',该功能类似于SVN的rm、delgit commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如'git commit -m story #3, add user model',提交的时候必须用-m来输入一条提交信息,该功能类似于SVN的commitgit push:将本地commit的代码更新到远程版本库中,例如'git push origin'就会将本地的代码更新到名为orgin的远程版本库中git log:查看历史日志,该功能类似于SVN的loggit revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert ',Git的版本号都是生成的一个哈希值 上面的命令几乎都是每个版本控制工具所公有的,下面就开始尝试一下Git独有的一些命令:git branch:对分支的增、删、查等操作,例如'git branch new_branch'会从当前的工作版本创建一个叫做new_branch的新分支,'git branch -D new_branch'就会强制删除叫做new_branch的分支,'git branch'就会列出本地所有的分支git checkout:Git的checkout有两个作用,其一是在不同的branch之间进行切换,例如'git checkout new_branch'就会切换到new_branch的分支上去;另一个功能是还原代码的作用,例如'git checkout app/model/user.rb'就会将user.rb文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚git rebase:用下面两幅图解释会比较清楚一些,rebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能git reset:将当前的工作目录完全回滚到指定的版本号,假设如下图,我们有A-G五次提交的版本,其中C的版本号是 ,我们执行了'git reset '那么结果就只剩下了A-C三个提交的版本git stash:将当前未提交的工作存入Git工作栈中,时机成熟的时候再应用回来,这里暂时提一下这个命令的用法,后面在技巧篇会重点讲解git config:利用这个命令可以新增、更改Git的各种设置,例如'git config branch.master.remote origin'就将master的远程版本库设置为别名叫做origin版本库,后面在技巧篇会利用这个命令个性化设置你的Git,为你打造独一无二的 Gitgit tag:可以将某个具体的版本打上一个标签,这样你就不需要记忆复杂的版本号哈希值了,例如你可以使用'git tag revert_version '来标记这个被你还原的版本,那么以后你想查看该版本时,就可以使用 revert_version标签名,而不是哈希值了Git 之所以能够提供方便的本地分支等特性,是与它的文件存储机制有关的。Git存储版本控制信息时使用它自己定义的一套文件系统存储机制,在代码根目录下有一个.git文件夹,会有如下这样的目录结构:有 几个比较重要的文件和目录需要解释一下:HEAD文件存放根节点的信息,其实目录结构就表示一个树型结构,Git采用这种树形结构来存储版本信息,那么 HEAD就表示根;refs目录存储了你在当前版本控制目录下的各种不同引用(引用指的是你本地和远程所用到的各个树分支的信息),它有heads、 remotes、stash、tags四个子目录,分别存储对不同的根、远程版本库、Git栈和标签的四种引用,你可以通过命令'git show-ref'更清晰地查看引用信息;logs目录根据不同的引用存储了日志信息。因此,Git只需要代码根目录下的这一个.git目录就可以记录完 整的版本控制信息,而不是像SVN那样根目录和子目录下都有.svn目录。那么下面就来看一下Git与SVN的区别吧 Git与SVN的不同SVN(Subversion)是当前使用最多的版本控制工具。与它相比较,Git 最大的优势在于两点:易于本地增加分支和分布式的特性。下面两幅图可以形象的展示Git与SVN的不同之处————对 于易于本地增加分支,图中Git本地和服务器端结构都很灵活,所有版本都存储在一个目录中,你只需要进行分支的切换即可达到在某个分支工作的效果。而 SVN则完全不同,如果你需要在本地试验一些自己的代码,只能本地维护多个不同的拷贝,每个拷贝对应一个SVN服务器地址。举一个实际的例子,以前我所在 的小组使用SVN作为版本控制工具,当我正在试图增强一个模块,工作做到一半,由于会改变原模块的行为导致代码服务器上许多测试的失败,所以并没有提交代 码。这时候上级对我说,现在有一个很紧急的Bug需要处理, 必须在两个小时内完成。我只好将本地的所有修改diff,并输出成为一个patch文 件,然后回滚有关当前任务的所有代码,再开始修改Bug的任务,等到修改好后,在将patch应用回来。前前后后要完成多个繁琐的步骤,这还不计中间代码 发生冲突所要进行的工作量。可是如果使用Git, 我们只需要开一个分支或者转回到主分支上,就可以随时开始Bug修改的任务,完成之后,只要切换到原来的分支就可以优雅的继续以前的任务。只要你愿意,每 一个新的任务都可以开一个分支,完成后,再将它合并到主分支上,轻松而优雅。分布式对于Git而言,你可以本地提交代码,所以在上面的图 中,Git有利于将一个大任务分解,进行本地的多次提交,而SVN只能在本地进行大量的一次性更改,导致将来合并到主干上造成巨大的风险。Git的代码日 志是在本地的,可以随时查看。SVN的日志在服务器上的,每次查看日志需要先从服务器上下载下来。我工作的小组,代码服务器在美国,每次查看小组几年前所 做的工作时,日志下载就需要十分钟,这不能不说是一个痛苦。后来我们迁移到Git上,利用Git日志在本地的特性,我用Ruby编写了一个Rake脚本, 可以查看某个具体任务的所有代码历史,每次只需要几秒钟,大大方便我的工作。当然分布式并不是说用了Git就不需要一个代码中心服务器,如果你工作在一个 团队里,还是需要一个服务器来保存所有的代码的。 总结本篇介绍了Git的基本概念、一些常用命令和原理,大家可以尝试动手体会一下,下一篇会重点介绍Git命令的使用技巧,Git附带的工具,最后会在Git Hub上创建一个开源项目,敬请期待

6. 如何使用 Git 和 GitHub

以前因为觉得git、github比较难,所以一直拖着不学,现在去尝试学习,一晚上就OK了重点之一是找到全面的、详细的、生动的、高质量的教程。廖雪峰的git教程是我目前找到的最好的一个。之前找到的讲解git用法的书《pro git》现在看来是没有必要再看了!重点之二就是自己立即去学,其实没什么难的,不要被貌似难的表象、概念唬住。重点之三是最好能自己做简单的、系统的整理,方便自己随时再回来查看、复习、参考,不至于出现这样的情况:学完以后过一段时间之后再用,但是这时候发现忘了差不多了!重点之四就是立即动手去用,否则学完很快就忘了。有钱的买mac,没钱的用ubuntu–或者其他的linux发行版、被逼无奈的用Windows–但是被逼之余的自主时间一定要远离Windows。现在我的测试环境是ubuntu。以对一个文件的管理为例,简单说明git的使用。另外需要说明的是下面的实验过程主要是只针对一个文件、并且修改的次数往往只有一次,而在真正的项目中,往往有大量的文件,也可能多次修改后才合并,合并时候的冲突可能也不只一两个,等等。不过原理都是一样的,我想说的是,不要局限在这个教程的示例上,请自己通过教程掌握基本的远原理之后,自己推广、去大量的实践,最重要的是要制定一个好的版本控制的策略(合理分工、安排,还是尽可能的避免冲突为好),这个可以参考:使用git和github进行协同开发流程以及我的学习笔记使用git和github管理自己的项目—真实开发环境的策略。1.创建版本库sudo apt-get install git 先安装git先创建目录,作为仓库git init 初始化仓库,可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了vim readme.txt 新建一个文本文件,比如往里面添加简单的一行字符串git add readme.txt 添加一个文件,比如readme.txt,如果目录里面的所有文件都要添加,可以git add *git commit-m "添加一个readme.txt文件" 将文件提交到仓库,并加上说明(这时候是版本1)如果是第一次使用git,那么git commit可能报错,所以需要你配置一些个人信息git config –global user.email "[email protected]" 配置邮件git config –global user.name "Your Name" 配置用户名必须配置,否则后面的commit、push到远程库都会失败然后再次git commit -m "添加一个readme.txt文件" 才会成功2.提交修改假如此时第一次修改了readme.txt文件git status 让我们时刻掌握仓库当前的状态。这时告诉我们,readme.txt被修改过了,但还没有准备提交的修改。git diff readme.txt 查看对readme.txt做了什么修改git add readme.txt 提交修改和提交新文件是一样,先git addgit status 可以再用git status查看仓库的当前状态,告诉我们,将要被提交的修改包括readme.txtgit commit-m "第一次修改" 然后再git commit,并添加修改的描述(这时候是版本2)git status 可以再执行git status看仓库状态,因为所有的都提交了,Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working directory clean)的。3.版本回退你可以像上面所说的那样不停的提交新的文件、提交对文件的修改这时候第二次修改readme.txt文件git add readme.txt 先git addgit commit -m "第二次修改" 提交第二次修改(这时候是版本3)git log 显示从最近到最远的提交日志,具体显示的内容自己试一试看看git log –pretty=oneline 如果嫌输出信息太多,看得眼花缭乱,试试加上–pretty=oneline参数看这篇教程去理解为什么Git的版本号要这么长,Git的版本号类似: 这样的特别长的十六进制数。git reset –hard HEAD^ 会回退到上一个版本,也就是从版本3回退到版本2在Git中,用HEAD表示当前版本,也就是最新的提交3628164…882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100vim readme.txt 可以看到此时的readme.txt文件就是版本2时候的内容,回退成功!git log 此时看到版本3的信息没有了git reset –hard 3628164 通过命令行上的历史信息(假如你没清屏的话),找到版本3 的版本号,不一定要全部的版本号,就像这个命令的例子,只要前面的约7、8位这样就可以指定回到版本3vim readme.txt 看到的是第三版本的readme.txt文件的内容,所以又回来了Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向你要回退的那个版本git reflog 记录你的每一次命令,最先显示的是这个命令执行之后的版本的版本号的前七位,这样就算你清屏了或者重启了,也能找到某个版本的版本号,就可以轻松回退到那个版本4.工作区、版本库和暂存区工作区:就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区。版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。暂存区:Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。详细知识见这篇教程。必须理解暂存区、工作区、版本库。这些都是是Git非常重要的概念,弄明白了这些概念,就弄明白了Git的很多操作到底干了什么。没弄明白的话,请反复看!!5.管理修改为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。通过实例讲解什么叫跟踪修改,要想理解,请参考原文结合暂存区的知识理解:vim readme.txt 编辑文件,比如添加新的一行git add readme.txt 添加,但是不提交vim readme.txt 再编辑文件,比如再添加一行git commit -m "修改两次,添一次,提交一次" 提交git status 看到的效果是:只提交了第一次的修改,第二次的修改没有提交那怎么提交第二次修改呢?你可以继续git add再git commit,也可以别着急提交第一次修改,先git add第二次修改,再git commit,也就是第一次修改 -> git add -> 第二次修改 -> git add -> git commit,就相当于把两次修改合并后一块提交了。6.撤销修改第一种情况修改了readme.txt文件,还没有git add 和git commit但是在你提交之前发现这次修改有问题。既然错误发现得很及时,就可以很容易地纠正它。你可以手动把文件恢复到上一个版本的状态。git checkout — readme.txt 也可以通过命令撤销修改,这条命令的意思就是,把readme.txt文件在工作区的修改全部撤销无论是文件修改后值存在于工作区还没有放到暂存区,还是已经添加到暂存区,总之这个命令就是让这个文件回到最近一次git commit或git add时的状态。查看文件,内容果然复原了。git checkout — file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到git checkout命令。第二种情况修改了readme.txt文件,而且执行了git add readme.txt庆幸的是你在 git commit 之前发现了这个问题git status 查看一下,修改只是添加到了暂存区,还没有提交git reset HEAD readme.txt 可以把暂存区的修改撤销掉,重新放回工作区。git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。git status 查看一下,现在暂存区是干净的,工作区有修改git checkout — readme.txt 还记得第一种情况中如何丢弃工作区的修改吧第三种情况现在,假设你不但改错了东西,还从暂存区提交到了版本库,怎么办呢?还记得版本回退一节吗?可以回退到上一个版本。不过,这是有条件的,就是你还没有把自己的本地版本库推送到远程。还记得Git是分布式版本控制系统吗?我们后面会讲到远程版本库,一旦你把错误的修改(如果是影响很大的错误)提交推送到远程版本库,你就真的惨了……区别对待本地版本库和远程版本库!7.删除文件在Git中,删除也是一个修改操作添加一个新的文件 test.txtgit add test.txtgit commit test.txt -m "再次新增一个文件"一般情况下,你通常会在文件管理器中把没用的文件删除,或者直接rm test.txtgit status 这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了现在你有两个选择,一是确实从版本库中删除该文件,那就git rm test.txt,然后git commit 文件就从版本库中删除了另一种情况是删除错了,因为版本库里还有,所以可以轻松地将误删除的文件恢复到最新版本git checkout — test.txt git checkout其实使用版本库中的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”8.添加远程库要想学习这部分的知识,请先参考下面的:a.配置连接远程仓库Github。假如现在你已经配置好github,并且在github上添加了learngit仓库。git remote add origin git软件开发公司www.xiupin365.net软件开发公司github.com:michaelliao/learngit.git 这个命令是在本地的learngit仓库下执行的,前面通过learngit仓库为例我们已经讲过在本地创建和操作git仓库。这两个地方的仓库名不需要相同,因为会通过在本地的仓库目录下执行这条命令(命令中包含远程库的名字)已经将两者建立了联系请千万注意,把上面的michaelliao替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。git push -u origin master 把本地库的所有内容推送到远程库上。把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。然后去Github对应的远程库看看,都已经推送上去了。此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改。这样你就可以在Github上托管你的项目代码、vim的配置文件和插件、重要的文档……现在我的vim的配置文件和插件已经同步到Github上了:https://github.com/xumenger/m…另外推荐我的关于vim配置的文章::http://segmentfault.com/a/119…9.从远程库克隆假设我的github上面有一个远程库,但是本地没有,需要克隆到本地,远程库的名字叫'gitskills'git clone [email protected]:michaelliao/gitskills.git 克隆一个本地库cd gitskills 进入克隆下来的本地库,默认的名字是和github上的一样的ls -al 可以看到本地的克隆库里面是和远程库里面的一样的如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。你也许还注意到,GitHub给出的地址不止一个,还可以用https://github.com/michaellia…这样的地址。实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https。10.分支管理分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。其他版本控制系统如SVN等都有分支管理,但是用过之后你会发现,这些版本控制系统创建和切换分支比蜗牛还慢,简直让人无法忍受,结果分支功能成了摆设,大家都不去用。但Git的分支是与众不同的,无论创建、切换和删除分支,Git在1秒钟之内就能完成!无论你的版本库是1个文件还是1万个文件。11.创建和合并分支首先教程中会详细讲解分支的原理(分支、指针、工作区……),一定要好好看!!看完之后你才能对你的创建分支和合并分支的操作不只是会用,更能在用的时候没有任何疑惑!反正能学到更多的知识,何乐而不为!另外推荐这样的博客:使用git和github进行协同开发流程以及我的学习笔记使用git和github管理自己的项目—真实开发环境的策略。在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,我们练习的learngit,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。完全可以自己搭建一台运行Git的服务器,不过现阶段,为了学Git先搭个服务器绝对是小题大作。好在这个世界上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库。在继续阅读后续内容前,请自行注册GitHub账号。由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:创建SSH Key。在用户目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key,输入命令ssh-keygen -t rsa -C "[email protected]",你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。登陆GitHub,打开“Account settings”,“SSH Keys”页面.然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:点“Add Key”,你就应该看到已经添加的Key:注意现在的Github的页面的布局可能和图片中显示有细小的差别,不过相信你能找到对应的操作!为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。如果你不想让别人看到Git库,有两个办法,一个是交点保护费,让GitHub把公开的仓库变成私有的,这样别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,因为是你自己的Git服务器,所以别人也是看不见的。这个方法我们后面会讲到的,相当简单,公司内部开发必备。现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。具体可以见教程。首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

7. 如何在github上搭建自己的博客

1.建立一个项目先在GitHub创建一个项目,名字随意,尽量全部小写字母,避免随后会碰到的URL冲突问题。1.1 在自己github右上角上,点击+号按钮,在出现的菜单中选择 New repository1.2 进入到创建仓库页面,给仓库命名并给于描述之后,点击create repository按钮创建仓库项目创建完毕。2.安装Gitgit是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。git的安装地址(http://msysgit.github.io/)关于git的具体安装步骤可参考http://jingyan..com/article/90895e0fb3495f64ed6b0b50.html关于git的常用命令可参考http://www.bootcss.com/p/git-guide/3.clone项目本地运行Git,随意选个目录,将刚才创建的项目clone下来。例:cd /e/bloggit clone https://github.com/stxwd46/EX.github-io.gitcd EX.github-io4.建立配置文件_config.yml注意:之后建立的所有文档务必使用UTF-8 无 BOM(隐藏字符) 的编码保存在项目的根目录下打开git命令行界面,输入命令 >> _config.yml 新建文件 _config.yml ,填写 baseurl: /blogdemo , blogdemo是你的项目名称,这一行内容规定了整个网站的根路径。 例:baseurl: /EX.github-io目录结构变为/EX.github-io|–_config.yml5.建立主页在根目录下新建文件 index.html , 内容如下:—title: Hello, My Blog—{{ page.title }}每篇文章的头部,必须有一个yaml文件头,用来设置一些元数据。它用三根短划线"—",标记开始和结束,里面每一行设置一种元数据。"title: Hello, My Blog",表示该文章的标题是"Hello, My Blog",如果不设置这个值,默认使用嵌入文件名的标题,即"hello world"。在yaml文件头后面,就是文章的正式内容,{{}}这些是Liquid模板语言,在{{}}里面我们可以使用模板变量。{{ page.title }} 表示“本页面的标题”,因为我们前面设置了title为Hello, My Blog。所以到时候进入到博客首页,title 就会显示相应的文案。目录结构变成:/EX.github-io|–_config.yml|– index.html6.在_posts内撰写文章,并在首页加入文章列表现在首页有了,那我们怎么发博文上去呢?回到项目根目录, 打开git bash,运行 mkdir _posts 新建一个目录,看名字也知道啦,这里存放你所有的文章。进入_posts目录,新建一篇文章。注意默认的文件名格式是 year-month-day-postTitle 这样。比如 2015-05-05-my_first_article.md,尽量避免空格或者其他乱七八糟的字符,这个文件名将作为URL的生成依据。文件名的格式可以通过修改 _config.yml中的 permalink 属性而改变,默认值为 date ,也就是我们刚刚创建的文件的样子,具体的规则可以看这里。如果你发现了我刚才创建的文件后缀名是 .md ,熟悉GitHub或者StackOverFlow的朋友应该知道Markdown 格式。对于不熟悉前端的人来说,用markdown可以避开HTML,转而使用更加直观的Markdown语法。如果不熟悉Markdown语法也没关系,可以参见这份Markdown 语法说明,应该说是相当易学,并且在熟悉之后非常易用的。而作为一个前端开发者来讲,我还是更倾向于用html。回到主题,打开刚才创建的文件,输入如下内容:—title: 我的第一篇文章—# {{ page.title }}## 目录+ [第一部分](#partI)+ [第二部分](#partII)+ [第三部分](#partIII)———————————-## 第一部分这里是第一部分的内容———————————-## 第二部分这里是第二部分的内容———————————-## 第三部分这里是第三部分的内容{{ page.date|date_to_string }}这段内容中使用了最常用的几种Markdown语法,比如使用 # ,## 表示 HTML 中的 <h1></h1> , <h2></h2>。使用[text](link)创建超链接,使用 连续多个 – 创建水平线(注意:不包括最上端包围title所使用的横线,那里表示一个页面的“头属性”),等等。更多详细的语法可以在之前提到的页面查询,这里不再赘述,总之,这是一种更加贴近真实写作的语法,推荐大家尝试。页面最后面的那个 {{ page.date|date_to_string }} 是指显示本页的日期属性,并且转换为可读的字符串形式。同样也是Liquid语法。OK,第一篇文章就写好了,然后到主页给文章加上入口链接。打开我们的 index.html 文件,添加内容,变成下面这样:—title: My Blog—{{ page.title }}{% for post in site.posts %}{{ post.date|date_to_string }} <a href='{{ site.baseurl }}{{ post.url }}'>{{ post.title }}</a>{% endfor %}简单解释一下,Liquid标记最主要分为两种,一种是直接输出变量内容,像这样:{{ page.title }}另一种则是逻辑命令形式的,像这样:{% for x in y %} … {% endfor %}而刚才写进主页的内容,就是遍历所有post文件,然后逐一显示在页面上,这里需要注意的一点就是在创建文章的超链接时,除了 post.url 之外,也要注意在前面加上site.url ,原因前面也有提到过,我们正在创建的是 Project Pages 类型的网站,其最终生成的网址根目录是:username.github.com/projectname,而 post.url 生成的超链接仅仅会自动加上 username.github.com/ 这样的前缀。现在检查一下更改的所有内容,确认不要犯下愚蠢的错误,比如把 “.” 打成 “。“或者单词拼错之类的。目录结构变为/EX.github-io|–_config.yml|– index.html|– _posts| |–2015-05-05-my_first_article.md7.配置SSH keys为什么要配置ssh keys?因为github和本地代码做推送和拉取时,需要用到ssh的密钥对进行数据加解密,由于github上新建的项目没有添加密钥,所以本地仓库连接不到远程仓库。那么如何配置ssh keys呢?7.1 我们需要检查你电脑上现有的ssh key:cd ~/.ssh如果提示:No such file or directory 说明你是第一次使用git。7.2 生成新的ssh keys:ssh-keygen -t rsa -C "邮件地址@youremail.com"注意1: 此处的邮箱地址,你可以输入自己的邮箱地址;注意2: 此处的「-C」的是大写的「C」。按回车后出现再按一次回车即可。然后系统会要你输入密码:Enter passphrase (empty for no passphrase):<输入加密串>Enter same passphrase again:<再次输入加密串>在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。注意:输入密码的时候没有*字样的,你直接输入就可以了。最后看到这样的界面,就成功设置ssh key了:7.3 添加ssh key到GitHub在本机设置SSH Key之后,需要添加到GitHub上,以完成SSH链接的设置。1、打开本地C:\Documents and Settings\Administrator.ssh\id_rsa.pub文件。此文件里面内容为刚才生成人密钥。如果看不到这个文件,你需要设置显示隐藏文件。准确的复制这个文件的内容,才能保证设置的成功。2、登录你的GitHub个人主页。点击右上角的 Settings进入设置页面,然后点击SSH Keys页面中的Add SSH key按钮3、把你本地生成的密钥复制到里面(key文本框中), 点击 add key 就ok了8.发布到GitHub这个时候我们就可以把页面提交到github上了,到根目录打开git命令行界面8.1 把刚创建的所有文件添加到本地git库git add -A8.2 保持良好的习惯,每次提交都提交添加描述git commit -m "create my blog"8.3 推送到GitHub,这里注意,因为我们使用的是GitHub Pages中的 Project Pages,GitHub规定,只有该分支中的页面,才会生成网页文件。即GitHub仅会将分支 gh-pages 下的内容进行自动生成操作, 所以本地的 master 分支应推送到远端的 gh-pages 分支git push origin master:gh-pages输入账号和密码,账号即你的GitHub账号(不是昵称,是账号名!),输入密码的时候命令行界面不会有任何的变化,所以在输入密码的时候要谨慎小心。之后按回车即可。好了,那现在我们要如何查看我们的博客页面呢。打开GitHub,进入到自己博客的仓库,右侧菜单栏有一个setting选项点击进入之后会看到这个页面GitHub Pages中显示的链接就是你的博客地址啦。9.增加模板套装_layouts其实到第8步博客的构建就已经完成了,只是没有样式的博客实在太难看。GitHub Pages有提供一些主题给我们使用。但作为一个前端开发者,肯定更希望自己给自己的博客布局和创建样式。回到项目根目录,新建文件夹 _layouts,顾名思义,“布局”是也。在 _layouts 中新建一个最基本的布局文件,姑且命名为default.html好了:<!DOCTYPE html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>{{ page.title }}</title></head><body>{{ content }}</body></html>首先,charset=utf-8让我们一劳永逸地解决了UTF-8的编码问题,随后指定了正文内容的位置,当然在这里只是一个最简单的内容,在body内仅有一个 {{ content }} 标签,你可以根据自己的喜好对页面进行任何改动,只要记得保留这个内容标签在你想要的位置就好。然后我们修改index.html和刚写完的那篇文章,只要在头属性上加一句就好:—title: xxoolayout: default.html—我们当然还可以把这个结构变得更灵活一些,比如继续新增两个模板分别叫做l_post.html与l_index.html,他们首先引用default.html,但在其基础上做出一定的修改。然后首页使用l_index模板,而所有的post文件则使用l_post模板,等等等等,请随意发挥。但始终记得加上 {{ content }} 标签目录结构变为/EX.github-io|–_config.yml|– index.html|– _posts| |–2015-05-05-my_first_article.md|– _layouts| |–default.html再次推送到GitHub即可。这样,我们就已经构建好了一个最简单的blog。之后你们就可以开始为自己的博客添砖加瓦了。10.问题汇总10.1 推送到GitHub之后个人主页的contributions没有提交记录Git会根据用户的名字和邮箱来记录提交。GitHub也是用这些信息来做权限的处理,输入下面的代码进行个人信息的设置,把名称和邮箱替换成你自己的。如何查看自己的名称和邮箱呢。回到GitHub个人主页,点击右上角的setting图标进入之后Personal settings菜单栏下的Profile页面中,Name即为你的名字但邮箱不是Name下面的Public email,很多人在这里被误导了。邮箱是Emails页面中的邮箱地址知道了名字和邮箱之后,打开git命令行界面,通过下面的命令行来设置你的名字和邮箱git config –global user.name "cnfeat"//用户名git config –global user.email "[email protected]"//填写自己的邮箱设置正确之后,提交记录就都恢复了。不仅仅你以后提交的都会出现在提交记录中,你以前提交的也会恢复并出现在记录中。10.2 每次提交都要求你输入账号跟密码原因是我们在clone分支时使用了 HTTPS 的地址,HTTPS 的地址是做什么用的呢?其实它主要是用在一些防火墙或者代理服务器设置比较严格的情况下的,比如有些公司是禁止使用 SSH 连接外网,那么在这种情况下要想使用 Git 的话,就只能用 HTTPS 的方式了。使用 HTTPS 的方式,也有储存密码的方式,但我们首推的方式是切换到 SSH,如果你的网络环境支持的话。回到你博客的根目录。打开git命令行界面,输入git remote set-url 你博客的ssh url如果你不知道你博客的ssh url,打开你的博客项目,右下角选择SSH,然后复制框里的url就行了之后再提交就不会要求你输入账号密码了。10.3 页面调试不方便如果我们要给我们的博客布局或设置样式神马的,我们是否每次都要把代码写好然后推送到GitHub上,再打开自己的博客地址,看看布局有没有什么问题。如果有的话再改代码,再提交,再查看呢?

8. github博客正确格式

用户名.github.io。GitHub要提供基于git的版本托管服务,也就是说,现在GitHub上托管的所有项目代码都是基于Git来进行版本控制的,同时注入了社交网络的属性。

9. 如何在 GitHub 上写博客

安装和设置Git 下载Git for Windows,采用默认安装,安装完成后就可以在本地使用Git了。 但要将内容放到Github上,必须先在Github网站上注册个账户,然后在本机使用Git创建SSH Key。操作如下: 在Git Bash上输入命令: ssh-keygen -C "[email protected]" -t rsa Note: “[email protected]”需要更换成你在Github上注册的Email地址或者是Username 这样会在用户目录(C:\Users\用户名)下产生一个.ssh文件夹,里面为对应的SSH Keys,其中id_rsa.pub是Github需要的SSH公钥文件。 到c:\Users\用户名\.ssh\目录找到id_rsa.pub(可能位置不一定对,但是确认是以.pub结尾的文件),并用记事本打开复制全部内容。 Note:建议私钥公钥的名称最好写成"id_rsa",这样连接Github的时候会找这个文件,如果文件名已定,之后改名也行。 在github网站选择“Account Settings”>>“SSH Public Keys”>>“Add another public key”,将刚才复制的内容粘贴到key文本框内。 这样就可以直接使用Git和GitHub了。 Note:建议在Git Bash中输入“ssh -v [email protected]”测试能够正常连接github 安装Ruby环境 下载RubyInstaller和DevKit。 因为Octopress需要的Ruby版本为1.9.2,所以选rubyinstaller-1.9.2-p290.exe,DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe。 先安装RubyInstaller,然后解压缩DevKit(路径中不能有中文)。 在“Start Command Prompt with Ruby”命令行中进入DevKit解压缩的目录,然后运行以下命令: ruby dk.rb init ruby dk.rb install gem install rdiscount –platform=ruby 如果安装成功,就可以使用一些Ruby的工具了,也为后面搭建博客提供了基础环境。 安装Octopress 先通过Git从Github上克隆一份Octopress(在Git Bash上输入命令) git clone git://github.com/imathis/octopress.git octopress 然后安装一些依赖的工具(后面都是在Start Command Prompt with Ruby中输入) cd octopress ruby –version # Should report Ruby 1.9.2 gem install bundler bundle install 安装Octopress默认的Theme rake install 配置Octopress 将octopress的文件夹下的_config.yml的编码改成UTF-8: 保存(或另存为)时选择编码格式为UTF-8 修改_config.yml,批改url、title、subtitle、author等等。 到Ruby的安装目次\lib\ruby\gems\1.9.1\gems\jekyll-0.11.2\lib\jekyll\找到convertible.rb这个文件,批改self.content = File.read(File.join(base, name))为self.content = File.read(File.join(base, name), :encoding => "utf-8")。 写博文 最简单的方式:复制octopress\source\_posts下某个文件,例如2012-07-30-the-first-post.markdown,修改文件名和文件中的内容 或者,命令行中输入rake new_post["title"],会创建一个新的Post,新文件在source/_post下,文件名如下面的格式:2012-07-31-title.markdown。该文件可以直接打开修改。 写文章时,可以使用Markdown和Octopress Plugins等工具对内容进行格式排版。 预览效果 在修改设置或者写完文章后,想看看具体效果,可以通过如下命令来完成: rake generate rake preview 将博客部署到Github上 在预览的效果符合自己的预期后,就可以通过如下命令将内容部署到Github上了。 如果是第一次部署,需要在Github上创建一个username.github.com的repository 在github网站选择“Create a New Repo”,如图 填写对应的内容即可 note:Repository name填写username.github.com,username一定要和github的username一致,建好的博客代表的是你这个github账户的主页即page 配置octopress与github的连接: 进入Octopress目录: rake setup_github_pages 按照提示填入你的github项目网址,比如: [email protected]:Username/yourname.github.com.git note:可以按照上面的修改,也可以在github的项目页中找地址 分发到github上: rake deploy 第一次运行时,会询问是否建立对github的授权,输入:yes。然后将站点更新的内容推送到github上。 补充一点: 最后的但并不是最重要的,我们需要将修改的日志同步到github上,因此下面的3个命令也是必须的。 git status git add . git commit -m 'your message' git push origin source 大功告成!

10. Git怎么推送本地分支到远程新分支上面去

Git常用操作命令收集:

1) 远程仓库相关命令

检出仓库:$gitclonegit://github.com/jquery/jquery.git

查看远程仓库:$gitremote -v

添加远程仓库:$gitremote add [name] [url]

删除远程仓库:$gitremote rm [name]

修改远程仓库:$gitremote set-url –push[name][newUrl]

拉取远程仓库:$gitpull [remoteName] [localBranchName]

推送远程仓库:$git push[remoteName] [localBranchName]

2)分支(branch)操作相关命令

查看本地分支:$gitbranch

查看远程分支:$gitbranch -r

创建本地分支:$gitbranch [name] —-注意新分支创建后不会自动切换为当前分支

切换分支:$gitcheckout [name]

创建新分支并立即切换到新分支:$gitcheckout -b [name]

删除分支:$gitbranch -d [name] —- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

合并分支:$gitmerge [name] —-将名称为[name]的分支与当前分支合并

创建远程分支(本地分支push到远程):$git pushorigin [name]

删除远程分支:$git pushorigin :heads/[name]

我从master分支创建了一个issue5560分支,做了一些修改后,使用git pushorigin master提交,但是显示的结果却是'Everything up-to-date',发生问题的原因是git pushorigin master 在没有track远程分支的本地分支中默认提交的master分支,因为master分支默认指向了origin master 分支,这里要使用git pushorigin issue5560:master 就可以把issue5560推送到远程的master分支了。

如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。$git pushorigin test:master // 提交本地test分支作为远程的master分支//好像只写这一句,远程的github就会自动创建一个test分支$git pushorigin test:test // 提交本地test分支作为远程的test分支如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。$git pushorigin :test // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

3)版本(tag)操作相关命令

查看版本:$gittag

创建版本:$gittag [name]

删除版本:$gittag -d [name]

查看远程版本:$gittag -r

创建远程版本(本地版本push到远程):$git pushorigin [name]

删除远程版本:$git pushorigin :refs/tags/[name]

4) 子模块(submole)相关操作命令

添加子模块:$gitsubmole add [url] [path]

如:$gitsubmole addgit://github.com/soberh/ui-libs.gitsrc/main/webapp/ui-libs

初始化子模块:$gitsubmole init —-只在首次检出仓库时运行一次就行

更新子模块:$gitsubmole update —-每次更新或切换分支后都需要运行一下

删除子模块:(分4步走哦)

1)$gitrm –cached [path]

2) 编辑“.gitmoles”文件,将子模块的相关配置节点删除掉

3) 编辑“.git/config”文件,将子模块的相关配置节点删除掉

4) 手动删除子模块残留的目录

5)忽略一些文件、文件夹不提交

在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如

target

bin

*.db


赞 (0)