git 工作流程

git工作流程

http://git.oschina.net/oschina/git-osc/wikis/%E5%B8%AE%E5%8A%A9#ssh-keys

安装设置 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 $feature_name

写代码,提交变更

git commit -am "My feature is ready"

将你的提交推送到 Git@OSC

git push origin $feature_name

在提交页面你可以查看你的变更,例如:

http://git.oschina.net/oschina/git-osc/commit/f3dd1c5bae48fa4244e2595a39e750e5606dd9be

创建一个 pull request

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


SSH Keys


SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。

你可以按如下命令来生成sshkey

ssh-keygen -t rsa -C "[email protected]"# 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....

关于权限


访客

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

开发者

  • 创建 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

插入代码片段

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

```ruby
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)
  • 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 [email protected]:username/impress-js.git

这种方式的好处是:可以完整地保留原项目的所有 branch 和 tag 信息。
提示:首次push内容量较大,推荐采用ssh方式push,传输更快,更稳定,如果项目较小,也可以采用http方式push。

更多导入办法,请点击这里

继续阅读

你可以点击这里阅读权威的git书籍ProGit

以下为收集的开源中国社区热心网友制作的git@osc跟各种IDE,软件的集成办法,可以点击查看:

  • Visual Studio 2012连接到osc@tokune

  • TortoiseGit配合msysGit在Git@OSC代码托管的傻瓜教程

  • 利用eclipse的git插件EGit与git@osc交互

  • git@osc安装与提交

  • Git初体验

  • 在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC

  • Xcode连接git@osc

  • xp下git客户端连接git@osc小记

  • git@osc(git)中team开发、fork和pull request的用法

  • eclipse的git插件整合Git@OSC

  • Eclipse使用EGit管理git@OSC项目

  • 如何导入外部Git仓库到中国源代码托管平台(Git@OSC)

衷心感谢网友 @nekocode @铂金便便 @恺哥 @彼岸花开花落时 @whaon @小小程序员 @老左 @司马奔 @枫叶飘零 @大漠真人细心整理分享资料。

你可能感兴趣的:(git,tools,git,开源中国)