socialforge/app/views/git_usage/ch_usage.html.erb

352 lines
11 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- added by baiyu -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
body table tr th {
font-size: 24px;
color: #666;
}
body table tr td {
color: #333;
}
body table tr td {
color: #000;
font-size: 20px;
font-family: "Comic Sans MS", cursive;
}
body table tr td span {
color: #039;
}
body p {
font-size: 18px;
color: #009;
}
body table tr td p {
color: #333;
}
body table tr td span1 {
color: #09C;
font-weight: bold;
}
body table tr td span2 {
font-weight: bold;
color: #09C;
}
body table tr td p span3 {
color: #6C6;
}
body table tr td p span3 {
font-weight: bold;
}
body table tr td p span4 {
color: #F00;
}
body table tr td p span4 {
font-weight: bold;
}
body table tr td span5 {
color: #F00;
}
body table tr td span5 {
font-weight: bold;
}
body table tr td p span6 {
color: #33F;
font-weight: bold;
}
body table tr td span6 {
color: #33F;
font-weight: bold;
font-size: 24px;
}
</style>
</head>
<body><table width="896" border="0">
<tr>
<th width="890" align="center" valign="middle"> Git使用说明</th>
</tr>
</table>
<table width="892" border="0">
<tr>
<td width="886">我们将使用 <span>git</span> 这个分布式版本控制系统来提交代码,下面就来介绍一下代码的提交方法。</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><p>&nbsp;</p>
<p><span6>Windows</span6></p></td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><span1>1、安装</span1></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><p><span>Step1</span></p>
<p>到<a href="http://code.google.com/p/msysgit" >http://code.google.com/p/msysgit</a>下载<span>msysgit</span>, 我们使用的版本是Git-1.7.4-preview20110204.exe</p></td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td>安装时选择Checkout as-is, commit as-is,这样Git 就不会修改换行风格了. 其他用缺省设置即可。</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><p><span>Step2</span></p>
<p>到<a href="http://code.google.com/p/tortoisegit/" >http://code.google.com/p/tortoisegit/</a>下载<span>TortoiseGit</span>,我们使用的版本是Tortoisegit-1.6.5.0-32bit.msi</p></td>
</tr>
<tr>
<td>安装时, 选择TortoisePLink。</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td>这两个软件安装完成后, 就可以开始使用了。</td>
</tr>
</table>
<table width="200" border="0">
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><p><span>Step3</span></p>
<p>在目录中右键单击TortoiseGit 再选Create Branch…就可以创建分支了。</p></td>
</tr>
</table>
<p>&nbsp;</p>
<table width="900" border="0">
<tr>
<td width="450"><span2>2、配置</span2></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><p >在桌面上点击鼠标右键选择TortoiseGit的Settings进行设置</p></td>
</tr>
<tr>
<td align="left">Name和Email是用来设置自己的用户名和联系方式的user.name和user.email必须填写这些将在版本库提交时用到,<span5> 其中的name和email要和<%= Setting.host_name %>上的登陆名和邮箱保持一致</span5>
,方便代码贡献统计 )。 </td>
</tr>
<tr>
<td align="left"><p >接着可以定制上下文菜单:</p>
<p >我们在Context Menu里勾选的是 <span>Clone</span>、<span>Sync</span>和<span>Commit</span></p>
<p >在Set Extend Menu Item里勾选的是<span>Import Svn Ignore</span>、<span>Show Reflog</span>、<span>Browse References</span>、<span>Stash Apply</span>和<span>Submodule Sync</span></p></td>
</tr>
</table>
<table width="200" border="0">
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><span2>3、日常用法</span2></td>
</tr>
</table>
<table width="200" border="0">
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><p><span>Step1:</span></p>
<p>创建版本库(两种途径)</p>
<p><span>a</span>在文件夹中按右键, 选择Git Create repository here 就可以创建库了,在出现的窗口中, 不勾选选项, 直接按OK。</p>
<p>完成上述操作后,可以看到工作区中出现了隐藏目录&nbsp;<span>.git</span>。这个隐藏的&nbsp;.git目录就是git版本库repository。 </p>
<p>&nbsp;</p>
<p><span>b</span>从远程服务器上克隆一个已存在的版本库到本地在目录中单击右键选择Git Clone... 然后在URL里填入要clone的文件的地址。</p></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><p><span>Step2:</span></p>
<p>添加文件和文件夹</p>
<p>在文件夹中按右键, 选Git Commit -&gt; &quot;<span>master</span>&quot;… 接着填写Message, 勾选<span>Whole Project</span> 选项, 这样Commit 的时候可以将整个项目的信息全部Commit 上去, 可以实现不需要打Tag 就能Checkout 出每次Commit 的内容.</p>
<p>比如:</p>
<p>在工作区添加file1.txtcommit以后接着修改file1.txt再创建一个文件夹dir1, 并且放置一个file2.txt 在dir1 目<br />
录中, 再次commit 时, 就可以将dir1 和file2.txt 一起加入了.</p></td>
</tr>
</table>
<table width="200" border="0">
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><p><span>Step3:</span></p>
<p>创建分支</p>
<p>在目录中单击右键选择TortoiseGit 里的<span>create Branch…</span>就可以创建分支了。</p>
<p>勾选<span>Switch to new branch</span>, 就可以跳转到建立好的分支上。</p>
<p>比如:</p>
<p>添加一个file3.txt 后, commit 修改。接着通<span>过Switch/Checkout…</span>.可以切换回master 分支。</p></td>
</tr>
</table>
<table width="200" border="0">
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><p><span>Step4</span></p>
<p>看分支情况及修改log</p>
<p>在目录中单击右键选择TortoiseGit 里的<span>Show log</span>, 可以看分支情况和修改log。 勾选<span>All Branches </span>可以看到所有分支的情况.</p>
<p>在Message 列中,<span3> 绿色</span3>
的是<span3>分支</span3>,<span4> 红色</span4>
的是<span4>当前工作分支</span4>。</p></td>
</tr>
</table>
<table width="200" border="0">
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><p><span>Step5:</span></p>
<p>比较版本差异</p>
<p>通过按Shift , 可以选中两个版本, 接着再按鼠标右键, 选中<span>Compare revisions</span>, 就可以比较两个revision 了。</p></td>
</tr>
</table>
<table width="200" border="0">
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><p><span>Step6:</span></p>
<p>合并分支</p>
<p>首先切换到master 分支, 接着点击鼠标右键选择TortoiseGit 里的<span>Merge</span>,就可以实现将分支合并到主版本。</p></td>
</tr>
</table>
<table width="200" border="0">
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><p><span>Step7:</span></p>
<p>其他操作</p>
<p><span>(a)</span> Stash</p>
<p>Git 提供了一个暂存修改的功能, 称为<span>Stash</span>。 在一些程序进行了修改, 但还不<br />
想commit 成revision 时, 就可以将这些修改Stash 起来, 等到后面需要时再将它<br />
们Pop 出来。</p>
<p><span>(b)</span> 忽略文件</p>
<p>一些编辑器在修改文件后会产生bak 文件, 一般不希望这些备份文件也加入<br />
库中, 可以选中一个.bak 文件, 然后选择<span>Add to ignore list</span> 中的<span>*.bak</span>, 这样bak 文<br />
件以后就不会被commit 了。</p></td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><p >&nbsp;</p>
<p >Tips </p></td>
</tr>
<tr>
<td><p >在碰到不熟悉的命令时,可以通过&nbsp;<span>git&nbsp;help</span>命令查看git的用户手册命令如下 </p></td>
</tr>
</table>
<table width="297" border="0">
<tr>
<td width="291" align="center"><p ><span>$git&nbsp;help&nbsp;&lt;command&gt;</span> </p></td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td>&nbsp;</td>
</tr>
</table>
<table width="901" border="0">
<tr>
<td width="895"><span6>Linux</span6></td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td><span1>1、安装</span1></td>
</tr>
<tr>
<td>如果你用的是Linux你可以用你的本地包管理系统native package management system)来安装。</td>
</tr>
<tr>
<td><p><span>$ yum install git-core </span> </p>
<p>在redhat等系统下用yum</p>
<p><span>$apt-get install git-core</span></p>
<p>在debianubuntu等系统下用apt-get</p></td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><span1>2、配置</span1></td>
</tr>
<tr>
<td><p ><span>$git&nbsp;config&nbsp;--global&nbsp;user.name&nbsp;&#8220;your_name&#8221;</span></p>
<p><span>$git&nbsp;config&nbsp;--global&nbsp;user.email&nbsp;&#8220;your_email&#8221;&nbsp;</span> </p>
<p>Name和Email是用来设置自己的用户名和联系方式的user.name和user.email必须填写这些将在版本库提交时用到,
<span5> 其中的name和email要和<%= Setting.host_name %>上的登陆名和密码保持一致</span5>
,方便代码贡献统计 )。</p></td>
</tr>
</table>
<table width="900" border="0">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><span1>3、代码提交方法</span1></td>
</tr>
<tr>
<td><p>cd file1</p>
<p><span>$ git add file1</span></p>
<p><span>$ git init</span></p>
<p><span>$ git commit -a</span></p>
<p><span>$ git remote add [name] [版本库里给的URL去掉http]</span></p>
<p><span>$ git push [name] master</span></p>
<p>输入password后即可上传。</p></td>
</tr>
</table>
<p>&nbsp;</p>
<table width="831" border="0">
<tr>
<td width="825" align="right">——Trustie团队</td>
</tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>
<!-- end -->