使用阿里云作为git远程仓库的实践

时间:2024-04-01 14:30:44

1、阿里云git仓库地址 https://code.aliyun.com/

2、添加ssh key公钥

    1) 先在本地电脑打开 Git Bash

    ssh-****** -t rsa -C "你的邮箱",生成的公钥在 C:\Users\Administrator\.ssh\id_rsa.pub 文件。


    2) 阿里云,必须先点一下 profile,才会显示 ssh keys!

    使用阿里云作为git远程仓库的实践

    使用阿里云作为git远程仓库的实践

    3) 将创建好的公钥,添加到阿里云的 ssh keys 中即可。就可以支持 https 了。


3、创建项目(和你要提交的项目同名

           使用阿里云作为git远程仓库的实践

项目权限:

使用阿里云作为git远程仓库的实践


4、本地找个目录,打开 Git Bash

    git clone  [email protected]:xxxx/xxxx.git    #克隆到本地


5、克隆的项目中带个 .git,已经将远程库和本地关联起来了

    使用阿里云作为git远程仓库的实践

6、将你的项目中的所有文件,拷贝到这个同名的工作区目录。

    使用阿里云作为git远程仓库的实践


7、将这个新增文件提交到远程仓库,实现项目上传到远程仓库

    git add *

    git commit -m "备注"

    git push origin master    #从远程仓库克隆,远程默认是 origin 分支,本地默认 master 分支。


8、遇到的问题,

    1) 项目向远程提交,提示用户验证的错误

        解决:本地重新生成 ssh 秘钥,远程重新添加 ssh key


9、项目上传的第二种方式:

    1) 云端创建一个新 project

    2) 在本地项目右键打开 Git Bash

        git init

        git add *

        git commit -m  "提交备注"

    3) 关联项目到远程分支 origin

        git  remote  add  origin  [email protected]:xxxxx/xxxxxx.git

    3) 提交项目

        git  push  -u  origin  master

    4) 提交成功

        使用阿里云作为git远程仓库的实践


        项目提交成功后,阿里云支持下载项目包:

        使用阿里云作为git远程仓库的实践

        

10、关于 READ.md 文件(可从本地提交  &  可在云端创建)

    readme 文件是所有开源项目都必须的,readme 文件的功能就是让别人能大体了解你的项目背景、项目概要、项目功能、

    相关环境、操作方法等等。

      使用阿里云作为git远程仓库的实践


README.md 规范写法,附个链接:

http://www.coderli.com/write-readme-for-your-project/


11、项目权限

应用场景:gitlab 远程仓库有很多项目,开发人员只需要看到自己做的项目,master就在项目下添加对应的成员登录名,

               成员登录自己 gitlab后,就能看到对自己开放了的项目代码。

当你是 gitlab的 master 时,可以给项目添加成员,如添加 developer

使用阿里云作为git远程仓库的实践

使用阿里云作为git远程仓库的实践

用户名就是gitlab 或 阿里云 用户名,给项目添加用户后,这个用户登录 gitlab 或阿里云,就能看到被分配了权限的项目了。


12、分支保护

应用场景:有很多人开发同一项目,你不想让他们直接提交到 dev 分支,而是让他们都提交到一个自己的分支,

                然后由 master 自己把这些分支的内容合并到 dev。


首先进入一个具体的项目,然后下面会有一个 settings:

使用阿里云作为git远程仓库的实践

点击settings,会看到一个 branchs:

使用阿里云作为git远程仓库的实践

这样就能看到分支被保护的效果了:

使用阿里云作为git远程仓库的实践

总结:分支被保护后,developer 有从分支拉代码的权限,但没有push、delete 分支的权限。

        master 可以选择 developer 有 push 权限,但是不能删除分支。同时,可以去除分支保护。