视频教程地址
常见冲突处理
安装设置 git ->马云帮助文档地址
下载最新版本的git
当你安装完成git的时候,你需要简单的配置一下,打开终端:
简易的命令行入门教程:
我们强烈建议所有的git仓库都有一个
README
,LICENSE
,.gitignore
文件
Git 全局设置:
git config --global user.name "逸宸"
git config --global user.email "tanjiyuan@163.com"
创建 git 仓库:
mkdir uniapp_practice //创建目录
cd uniapp_practice //进入目录
git init //初始化一个仓库
touch README.md //创建一个文件
git add README.md //把文件加入缓冲区
git status //查看状态 文件显示红色=有内容发生改变了/绿色=在暂存区/没有文件代表已经提交成功或者没有待处理文件
git commit -m "first commit" //提交文件到本地仓库
//如果提交错误:error:failed to push some refs to。
git pull --rebase origin master // 需要执行把远程库合并更新到本地库
已有项目?
cd existing_git_repo //进入仓库目录
提交到远程仓库
git remote add origin https://gitee.com/wokaixin/uniapp_practice.git //给远程仓库地址命名
git push -u origin master //提交项目
工作流程
首先、 CD 到项目路径 比如 cd d/cangku/20181204demo
目录不存在就用mkdir 创建目录,例如:mkdir cangku
1、告诉git你是谁-用户名
1.1、你需要告诉git你的名字,这个名字会出现在你的提交记录中。
git config --global user.name "你的名字"
1.2、告诉git你的Email,同样,这个Email也会出现在你的提交记录中,请尽量保持此Email和您的码云的注册Email一致。
git config --global user.email "你的Email"
2、克隆项目到本地/推送项目到仓库
Clone 和 Push
2.1 Clone 克隆项目到本地
git clone http://gitee.com/xxxxxx/xxxxxx.git
2.2、创建特性分支
git checkout -b $feature_name
2.3、写代码,提交变更
git commit -am "My feature is ready"
2.4、将你的提交推送到 码云
git push origin $feature_name
2.5、在提交页面你可以查看你的变更,例如:
http://gitee.com/oschina/git-osc/commit/f3dd1c5bae48fa4244e2595a39e750e5606dd9be
3、 创建一个 pull request
你可以fork任意的公开项目,当你修改了你fork的项目,你可以向源项目提交pull request。项目的作者在审阅过代码后可以决定是否将此变更应用到源项目。
4 在码云上使用SVN
使用教程已经整理在这里
5 SSH Keys
SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。
5.1、生成sshkey-命令如下
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"# Creates a new ssh key using the provided email
# Generating public/private rsa key pair...
5.2、查看你的public key,并把他添加到 Git @ OSC http://gitee.com/keys
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
5.3、添加后,在终端(Terminal)中输入
ssh -T git@gitee.com
5.4、若返回
Welcome to 码云, yourname!
5.5、则证明添加成功。
6、 关于权限
7、 访客
对于公有项目:
- 创建issue
- 评论
- Clone 和 Pull 项目
- 打包下载代码
- Fork 项目
- 创建 pull request
8、 报告者
- 继承访客的权限
- 私有项目:不能查看代码
- 私有项目:不能下载代码
- 私有项目:不能fork代码
9、 观察者
- 继承报告者权限
- 创建wiki
- 打包下载代码
- 不能push代码
- 私有项目:可以fork
10、 开发者
- 创建 issue
- 评论
- Clone 和 Pull 项目
- 打包下载代码
- 创建 pull request
- 创建分支
- 推送分支
- 删除分支
- 创建标签(里程碑)
- 创建 wiki
11、 管理员
- 创建 issue
- 评论
- Clone 和 Pull 项目
- 打包下载代码
- 创建 pull request
- 创建分支
- 推送分支
- 删除分支
- 创建标签(里程碑)
- 创建 wiki
- 添加项目成员
- 强制推送分支
- 编辑项目属性
12、 项目组管理员
- 编辑项目组属性
- 增加成员
- 添加/删除项目
- 设置项目组管理员
- 删除项目组
- 更改成员项目权限
13、 Git @ OSC Flavored Markdown
Git @ OSC 的markdown基于原markdown做了一下扩展,具体使用如下。
14、 You can use GFM in:
- 提交消息
- 评论
- issues
- pull requests
- 里程碑
- wiki 页面
15、 跟传统的Markdown的区别
16、 URL 自动链接
插入的URL不需要做特殊处理,会自动变成链接。
17、 Emoji表情
支持Emoji表情,参考:Emoji cheat sheet
18、 插入代码片段
可以向如下这种方式插入代码片段,可以在标记后面指定编程语言,如果没有指定语言,编译器会尝试自动识别。
ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
将会变成
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
19、 特殊的 码云 引用。
GFM 可以识别一些特殊的标记,并且支持自动补全,例如:
-
123 (Issue)
- !123 (Pull Request)
- commit:1234567 (提交)
- :icon: (emoji 表情)
20、 如何导入外部的Git仓库?
因为一些原因暂没有开放一键导入功能。
有需求的可以先按照如下步骤导入其它地方的git仓库(以 github 上的 impress.js 为例):
20.1、 从原始地址 clone 一份 bare 仓库:
git clone --bare https://github.com/bartaz/impress.js.git
20.2、 在 码云 上 创建一个项目
20.3、 以 mirror 的方式把刚才 clone 的项目 push 到 码云 上: (如果提示输入 git 用户密码,请到 http://gitee.com/keys 添加 SSH Key)
cd impress.js.git
git push --mirror git@gitee.com:username/impress-js.git
这种方式的好处是:可以完整地保留原项目的所有 branch 和 tag 信息。
提示:首次push内容量较大,推荐采用ssh方式push,传输更快,更稳定,如果项目较小,也可以采用http方式push。
更多导入办法,请点击这里
21 项目组的使用
项目组可以使用户更加方便的添加用户到项目中
21.1、 创建项目组:http://gitee.com/teams/new
21.2、 添加用户:可以设置两种权限,一种是用户默认在项目中的权限,一种是项目组管理权限
21.3、 指派到项目:如果选择开发者,那么将会按照用户在项目组中的默认权限为项目添加;如果选择管理员,那么项目组中的所有成员将会成为项目的管理员
21.4、 撤销项目:撤销项目将会把在项目属于项目组中的成员移除,如果成员同样存在于此项目别的项目组中,那么将会更新为别的项目组中的相应的项目权限。
Tips
项目组只有项目组的成员可以访问
项目组的名称是全站唯一的
一个用户存在于两个项目组a,b中,在a中的项目权限是管理员,在b中的项目权限是开发者,如果项目组a,b同时指派到项目pro,那么将项目组a从pro中移除之后,此用户在pro中的权限将会从管理员降为开发者。
22 README 规则
22.1、 码云 README 文件支持多种文件格式以及命名规则。
例如: README, README.md, README.org...
或者: README_zh.md, README_en.md...
22.2、若有多个README文件,则优先显示文件名包含'_zh','_cn'等中文标注的README文件。
例如同一目录包含两个README文件:README_en.md README_zh.md
则显示README为: README_zh.md
23、 改写历史,去除大文件
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
详细参见:这里
24、 继续阅读
你可以点击这里阅读权威的git书籍ProGit
以下为收集的开源中国社区热心网友制作的码云跟各种IDE,软件的集成办法,可以点击查看:
衷心感谢网友 @nekocode @铂金便便 @恺哥 [@彼岸花开花落时] (http://my.oschina.net/bianhuakaihualuoshi) @whaon @小小程序员 @老左 @司马奔 @枫叶飘零 @大漠真人细心整理分享资料。