SAE上应用的Git代码仓库管理基本操作讲解

时间:2022-05-22 15:35:59

SAE近期的优化,新增了Git代码托管仓库,本文对新浪云Git代码仓库的使用方法做简要的介绍。

使用Git进行代码管理,首先要在本地安装Git客户端,下载链接:http://www.git-scm.com/download/

Git客户端的安装与配置过程在此略去不讲。

本文例子中使用的操作系统为Windows 8.1,应用语言为Python,应用名称为gitsrc。

0. 代码管理方式的选择

在首次对应用进行代码管理时,有且仅有一次选择代码库管理方式的机会,在此我们选择Git。
SAE上应用的Git代码仓库管理基本操作讲解

此后应用的代码管理方式将不可变更
SAE上应用的Git代码仓库管理基本操作讲解

创建完成后,可以在页面上看到应用的Git仓库地址:https://git.sinaapp.com/gitsrc/

1. 使用git clone克隆代码仓库

在命令提示符(cmd)下,cd到工作目录(本例为E:\sae),执行命令:
 

复制代码

代码如下:


git clone -o sae https://git.sinaapp.com/gitsrc


其中gitsrc应替换为正确的应用名称

按照提示输入安全邮箱和密码,执行成功后,提示检出内容为空。
SAE上应用的Git代码仓库管理基本操作讲解

保存Git用户名和密码:

在%USERPROFILE%\_netrc文件中

添加如下内容,可以避免每次push时重复输入用户名和密码(未启用动态口令)
 

复制代码

代码如下:


machine git.sinaapp.com
login 安全邮箱
password 密码


添加一个Git远程仓库sae,地址为:https://git.sinaapp.com/gitsrc

复制代码

代码如下:


git remote add sae https://git.sinaapp.com/gitsrc


注:如果在git clone时添加了 -o sae 参数,此步骤可以省略。

2. 首次创建分支(版本1)

在源码目录gitsrc下添加一个文件,例如index.wsgi,然后cd到源码目录下,执行如下指令:
 

复制代码

代码如下:


cd gitsrc
git add .
git commit -am "init repo"
git push sae master:1


打印信息如下:

复制代码

代码如下:


Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 371 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://git.sinaapp.com/gitsrc
* [new branch] master -> 1


3. 版本的切换:

SAE Git代码仓库通过分支(Branch)的方式,支持多个并存的代码版本。

使用git checkout命令可以在版本之间进行切换,例如执行命令:
 

复制代码

代码如下:


git checkout 1


Switched to branch '1'
Your branch is up-to-date with 'sae/1'.


执行完毕后,即切换至分支1

4. 新增和删除代码版本

当前位于分支1,执行下面的语句可以创建分支版本(例如版本2):
 

复制代码

代码如下:


git branch 2
git push sae 2


执行如下命令,可以列出所有版本

 

复制代码

代码如下:

git branch -a


SAE上应用的Git代码仓库管理基本操作讲解

从SAE服务器上删除版本2的代码。

 

复制代码

代码如下:

git push sae :2


SAE上应用的Git代码仓库管理基本操作讲解

已经在SAE中指定为默认版本时,禁止删除。
SAE上应用的Git代码仓库管理基本操作讲解

提示错误信息:Permission denied: deleting default version is not allowed!
SAE上应用的Git代码仓库管理基本操作讲解

5. 向Git代码库提交代码变更

在gitsrc目录下变更代码文件,例如新增了文件foo.html

依次执行下面的语句,将变更提交至SAE Git代码库(分支版本1):
 

复制代码

代码如下:


git add --all
git commit -am "add foo.html"
git push sae 1


SAE上应用的Git代码仓库管理基本操作讲解

对于Python应用,与SVN代码库不同,新增版本时并不会默认生成index.wsgi,开发者需要自行添加这个文件。