git手册

工作流程


安装设置 git

下载最新版本的git
http://git-scm.com/downloads
当你安装完成git的时候,你需要简单的配置一下,打开终端:

用户名

第一步,你需要告诉git你的名字,这个名字会出现在你的提交记录中。
git config –global user.name “你的名字”

Email

然后是你的Email,同样,这个Email也会出现在你的提交记录中,请尽量保持此Email和您的Git@OSC的注册Email一致。
git config –global user.email “你的Email”

Clone 和 Push

Clone 项目
git clone http://git.oschina.net/xxxxxx/xxxxxx.git
创建特性分支
git checkout -b featurenamegitadd.gitgitcommitamMyfeatureisreadyGit@OSCclonepushoriginsshgitpushorigin feature_name
在提交页面你可以查看你的变更,例如:
http://git.oschina.net/oschina/git-osc/commit/f3dd1c5bae48fa4244e2595a39e750e5606dd9be

创建一个 pull request

你可以fork任意的公开项目,当你修改了你fork的项目,你可以向源项目提交pull request。项目的作者在审阅过代码后可以决定是否将此变更应用到源项目。

在GIT@OSC上使用SVN

使用教程已经整理在这里


SSH Keys


SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。
你可以按如下命令来生成sshkey
ssh-keygen -t rsa -C “xxxxx@xxxxx.com”# Creates a new ssh key using the provided email
# Generating public/private rsa key pair…
查看你的public key,并把他添加到
Git@OSC http://git.oschina.net/keys
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc….
添加后,在终端(Terminal)中输入
ssh -T git@git.oschina.net
若返回
Welcome to Git@OSC, yourname!
则证明添加成功。


关于权限


访客

对于公有项目:
• 创建issue
• 评论
• Clone 和 Pull 项目
• 打包下载代码
• Fork 项目
• 创建 pull request

报告者

• 继承访客的权限
• 私有项目:不能查看代码
• 私有项目:不能下载代码
• 私有项目:不能fork代码

观察者

• 继承报告者权限
• 创建wiki
• 打包下载代码
• 不能push代码
• 私有项目:可以fork

开发者

• 创建 issue
• 评论
• Clone 和 Pull 项目
• 打包下载代码
• 创建 pull request
• 创建分支
• 推送分支
• 删除分支
• 创建标签(里程碑)
• 创建 wiki

管理员

• 创建 issue
• 评论
• Clone 和 Pull 项目
• 打包下载代码
• 创建 pull request
• 创建分支
• 推送分支
• 删除分支
• 创建标签(里程碑)
• 创建 wiki
• 添加项目成员
• 强制推送分支
• 编辑项目属性

项目组管理员

• 编辑项目组属性
• 增加成员
• 添加/删除项目
• 设置项目组管理员
• 删除项目组
• 更改成员项目权限


Git @ OSC Flavored Markdown


Git @ OSC 的markdown基于原markdown做了一下扩展,具体使用如下。

You can use GFM in:

• 提交消息
• 评论
• issues
• pull requests
• 里程碑
• wiki 页面

跟传统的Markdown的区别

URL 自动链接

插入的URL不需要做特殊处理,会自动变成链接。

Emoji表情

支持Emoji表情,参考:Emoji cheat sheet

插入代码片段

可以向如下这种方式插入代码片段,可以在标记后面指定编程语言,如果没有指定语言,编译器会尝试自动识别。

require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html

将会变成
require ‘redcarpet’
markdown = Redcarpet.new(“Hello World!”)
puts markdown.to_html

特殊的 Git@OSC 引用。

GFM 可以识别一些特殊的标记,并且支持自动补全,例如:
• #123 (Issue)
• !123 (Pull Request)
• commit:1234567 (提交)
• :icon: (emoji 表情)

如何导入外部的Git仓库?

因为一些原因暂没有开放一键导入功能。
有需求的可以先按照如下步骤导入其它地方的git仓库(以 github 上的 impress.js 为例):
1. 从原始地址 clone 一份 bare 仓库:
git clone –bare https://github.com/bartaz/impress.js.git
2. 在 GIT@OSC 上 创建一个项目
3. 以 mirror 的方式把刚才 clone 的项目 push 到 GIT@OSC 上: (如果提示输入 git 用户密码,请到http://git.oschina.net/keys 添加 SSH Key)
cd impress.js.git
git push –mirror git@git.oschina.net:username/impress-js.git
这种方式的好处是:可以完整地保留原项目的所有 branch 和 tag 信息。
提示:首次push内容量较大,推荐采用ssh方式push,传输更快,更稳定,如果项目较小,也可以采用http方式push。
更多导入办法,请点击这里

项目组的使用

项目组可以使用户更加方便的添加用户到项目中
1. 创建项目组:http://git.oschina.net/teams/new
2. 添加用户:可以设置两种权限,一种是用户默认在项目中的权限,一种是项目组管理权限
3. 指派到项目:如果选择开发者,那么将会按照用户在项目组中的默认权限为项目添加;如果选择管理员,那么项目组中的所有成员将会成为项目的管理员
4. 撤销项目:撤销项目将会把在项目属于项目组中的成员移除,如果成员同样存在于此项目别的项目组中,那么将会更新为别的项目组中的相应的项目权限。
Tips
• 项目组只有项目组的成员可以访问
• 项目组的名称是全站唯一的
• 一个用户存在于两个项目组a,b中,在a中的项目权限是管理员,在b中的项目权限是开发者,如果项目组a,b同时指派到项目pro,那么将项目组a从pro中移除之后,此用户在pro中的权限将会从管理员降为开发者。

README 规则

  1. git@osc README 文件支持多种文件格式以及命名规则。
    例如: README, README.md, README.org…
    或者: README_zh.md, README_en.md…
  2. 若有多个README文件,则优先显示文件名包含’_zh’,’_cn’等中文标注的README文件。
    例如同一目录包含两个README文件:README_en.md README_zh.md
    则显示README为: README_zh.md

改写历史,去除大文件

git filter-branch –tree-filter ‘rm -f path/to/large/files’ –tag-name-filter cat – –all
git push origin –tags –force
git push origin –all –force

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值