????在过去的两周,同学们除了在学习 C 语言之外,还在学习如何利用 git 将自己的代码上传到 coding 中。也有大量的同学,成功的上传了代码。但是,实际上大部分同学的用法都不合理。这里,以一种简单的示例展示 git 的使用。
????目标:利用 git 管理自己的代码,同时将代码提交到 coding 的服务器
????工具:git、coding.net
????实验内容:完成三次作业,且将作业上传到代码服务器
操作步骤
-
新建项目
项目的创建过程话不多说,见下图:
点击创建项目之后,页面会跳转。Coding 这里给出了下面所要做的事情:
????我们可以点击其中的"点击这里快速初始化仓库"迅速的创建出仓库,也可以按照下面的命令行操作方法手动操作。这里我们手动操作一切。
-
在本地创建一个 git 目录,然后将本地的 git 目录和 coding 网站的进行绑定
- 在任意位置打开 git 命令行(不建议在中文路径下)
- 使用 mkdir 命令创建一个文件夹
$ mkdir xxx_homework(mkdir 命令是 Linux 操作系统下的一个常见命令,用于创建文件夹)
- 进入此文件夹
$ cd xxx_homework(cd 命令也是 Linux 操作系统下的一个常见命令)
- 将此文件夹初始化为 git 工作目录
$ git init
- 创建一个 ReadMe.md 文件
$ echo "Hello World!" >> ReadMe.md
- 创建 .gitignore 文件,且在其中添加文本 *.exe
$ echo "*.exe" >> .gitignore(echo 是大多数操作系统中常见的命令,用于显示后面的字符。>> 名为重定向符号)
- 将改动保存到工作区(这里的改动指的是增加了.gitignore 和 ReadMe.md 文件)
$ git add .(add 后跟随文件名,如果是一个点,代表将所有的变动都保存)
$ git commit -m "first commit"
- 建立本地文件夹和远程目录的关联
$ git remote add origin https://git.coding.net/dongfengweixiao/xxx_homework.git
- 将更改推送到远程
$ git push -u origin master
????到这里,就已经完成了远程文件夹的创建,同时本地也有一个可用的文件夹。下面开始做作业!
-
第一次作业
- 打开终端,进入 xxx_homework 目录,新建一个文件夹用于存放第一次的作业
$ cd xxx_homework????????? 进入 git 的工作目录
$ mkdir homework_01????????? 为此次作业新建一个文件夹
$ cd homework_01????????? 进入此文件夹
- 实验1-1 Hello World!
- 实验要求:输出一个短句"Hello World!"
- 实验过程:
- 新建文件
$ vim 1_1.c
- 输入代码内容后保存退出
#include <stdio.h>
?
int main(void)
{
printf("Hello World!\n");
return
0;}
- 编译代码
$ gcc 1_1.c -o 1_1.exe
- 执行观察结果
$ $ ./1_1.exe
Hello World!
- 新建文件
- 实验1-2 Welcome to You!
- 过程略
- 实验1-3 Programming in C is fun!
- 过程略
…………………………
- 作业全部完成后,检查下工作区的状态
$ cd .. && git status????? cd .. 用于返回上一层目录,然后查看状态
On branch master
Your branch is up-to-date with ‘origin/master‘.
Untracked files:
(use "git add <file>..." to include in what will be committed)
homework_01/????? 多了一个文件夹需要提交
- 将变更保存,然后提交
$ git add . && git commit -m "finish homework 1"
- 再次检查工作区的状态
$ git status
On branch master
Your branch is ahead of ‘origin/master‘ by 2 commits.
(use "git push" to publish your local commits)
nothing to commit, working directory clean????? 工作区是干净的(因为所有的变更都已经提交了)
- 提交这些文件
$ git push origin master????????(注意此命令,和第一次使用此命令是稍有不同)
?
????后面,其他的作业也都是如法炮制就是最好的了。这样一个工程中,每一个文件夹保存一次的作业内容。
????下一次和 git 相关的文章,将会为大家讲解如何多人协作,共同处理一个工程。
?
?
?
?
?