新浪云Git代码仓库使用

守給你的承諾、 提交于 2020-02-08 06:03:54

SAE近期的优化,目前已经支持Git,本文将介绍如何使用Git在SAE上部署代码。

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

Git客户端的安装与配置过程在此略去不讲,谷歌一下可以找到许多相关的内容,文章重点介绍如何使用Git在SAE上部署代码。

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

0. 代码管理方式的选择(典型的程序员计数)

在首次对应用进行代码管理时,有且仅有一次选择代码库管理方式的机会,这里我们选择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用户名和密码:

 

实现办法(win环境):

a、1. 在Windows中添加一个HOME系统环境变量,值为%USERPROFILE%

b、在“开始》运行”中打开%Home%,新建一个名为“_netrc”的文件。

c、添加如下内容,可以避免每次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 'origin/1'.

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

4. 新增和删除代码版本

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

git branch 2

git push sae 2

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

git branch -a

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

git push sae :2

已经在SAE中指定为默认版本时,禁止删除。

提示错误信息:Permission denied: deleting default version is not allowed!

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

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

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

git add --all

git commit -am "add foo.html"

git push sae 1

 

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

 

原文链接:http://bookshadow.com/weblog/2015/09/10/sae-git-introduction/

我对本文中部分内容进行补充

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!