作业提交说明

本课程的部分作业使用github和git进行提交,这里将会具体讲述如何提交这些作业。

1. github账号注册

在github网站(https://github.com)首页即可完成快速注册,或者点击首页右上角的Sign up进行注册。注册时的选项默认即可。

2. 创建作业仓库(repository)

注册后登录。在首页右上角 "+" 处选择 "New repository"创建代码仓库(repository)。

按作业要求填写"repository name"(仓库名),类型选择"Private",选择"Initialize this repository with a README"。

注: Private的仓库只有自己及指定的人可以看见,Public的仓库所有人都能看见 。作业仓库必须设置为Private。

最后选择"Create a repository",完成创建。

为了方便助教修改作业,请在仓库创建成功后,进入仓库首页,点击 Settings - Collaborators, 将课程网站首页助教们的github 账号都设为Collaborator。

3. 安装git客户端

在Linux系统中,可以用apt-get命令安装git:

sudo apt-get install git

在Windows系统中,可以在https://git-for-windows.github.io/下载git的Windows版本。

下载后进行安装,安装时所有安装选项都按默认选项即可完成安装。

Mac OS一般自带git,不需要再安装。若打开mac的命令行窗口输入git后发现无安装,可以尝试如下链接安装: https://git-scm.com/downloads

4. 使用git克隆作业仓库到本地

下面的很多操作需要大家熟悉命令行操作,请大家课后练习。

在本地机器上启动命令行工具(win 10系统可以在开始菜单的"Windows系统"中找到"命令提示符",其他windows系统也可以在开始菜单中找到,或是利用搜索功能。Linux系统直接打开终端即可),在命令行中进入到需要存放仓库的目录,然后使用下面的命令便可克隆自己服务器端的仓库到本地:

git clone <服务器端仓库URL>

将上述“<服务器端仓库URL>”替换成自己的服务器端仓库URL,替换后不需要加尖括号,这个URL也就是自己之前创建出的作业仓库首页,如下图(如何进入到自己仓库的首页请见后文)。

假定你的github 账号是 pkuer01, 创建出来之后的仓库是 https://github.com/pkuer01/ichw . 后面的操作请将 pkuer01 替换为 自己的github 账号

在命令行下, 输入下述命令来克隆仓库到本地

git clone https://github.com/pkuer01/ichw

自己的仓库首页可以在github首页上找到并进入(如下图,需要登录)。

在命令行下,克隆之后,Windows 输入 dir 命令, Linux/MacOS 输入 ls 命令, 发现本地新出现了一个名为 ichw 的目录, 这就是克隆的本地仓库。

5. 更新本地仓库

前面4步为首次提交作业需要做的工作,如果之前第一次提交作业时已经完成了前面4步,那之后每次提交作业只需从第5步做起。

每次对本地仓库进行修改前,都需要与服务器端进行同步。在命令行中,进入到本地仓库的根目录 (如何进入, 请参阅使用命令行工具),使用下面命令与服务器端个人仓库进行同步(从服务器端仓库“拉”更新到本地):

git pull origin master

如果显示"Already up-to-date."则表示已经是最新的版本,而如果显示"x file changed, x insertion(+)"则表示此次更新了x个文件,有x行的更改。但若显示"conflict",则表示更新时发现冲突,更新不成功。

更新时发生冲突的原因是之前提交的修改没有合并到主库里,如果这些修改是不再需要的,可以直接删除本地仓库(文件夹),从第4步开始重新进行克隆,然后再进行上述更新,如果还是不行,请联系助教进行解决。

6. 本地开发修改

请按每次作业的要求在仓库里创建相应的文件和文件夹,如概论作业2要求创建一个文件名为"ichw2.md"的文件。

Markdown文件后缀为md,可用“记事本”等文本编辑器进行编辑,但为了预览显示效果,可以使用专门的markdown编辑器来编辑,windows下常用的markdown编辑器,如:Markdown Pad(点击可以下载)。另,Markdown编辑器在windows下可能需要安装Awesomium 1.6.6 SDK(点击可下载),才能正常显示效果。

作业文件放好后,使用git add <文件名>命令将新文件放入暂存区,如:

git add ichw2.md

上述命令会将ichw2.md加入暂存区。若有多个文件,可以执行多次,也可以执行下述命令,将当前目录的所有新文件加入暂存区:

git add .

没加入暂存区前,使用git status命令会看到如下效果:

加入暂存区后,则会看到如下效果:

更多git的功能和命令,如:版本回退、分支管理等等,请百度“git教程”。

7. 提交修改到服务器端的个人仓库

加入暂存区后,输入下述命令在本地确认提交修改:

git commit -m "此次修改的描述"

引号中的内容为本次修改的描述,比如改了哪些文件,添加了什么功能等等。这个内容可以使用git log查看到。

如果是首次提交,系统会提示你键入以下两行命令提交自己的邮箱和用户名:

git config --global user.email "your@example.com"
git config --global user.name "Your usernmae"

将上述两行中引号中的内容分别替换成自己的邮箱和用户名后输入,然后再次输入git commit -m "xxx"才可以提交成功。

然后使用下面命令,将此次修改推送更新到服务器端的人仓库:

git push origin master

输入上述命令后,需要输入github的账号密码进行登录。推送到服务器端的个人库后就算完成作业的提交,可以在网页端检查推送是否成功。

8. 更新作业

在作业提交截止时间之前,同学们可以任意更改更新作业。具体步骤与前述相同,但只需从第5步开始。