一 git的安装测试
在Ubuntu系统下的bash中输入git,如果提示没有安装的话,用命令 sudo apt-get install git 安装git,安装完成之后通过 git –version 来验证是否安装成功,安装成功会有如下显示。
二 创建文件夹
在ubuntu系统中一个显示文件夹以及文件的功能叫tree,我觉得这个功能很好,像是一个思维导图一样,把文件的所属关系列举的很清楚。通过 sudo apt-get install tree 命令安装tree。
安装完成之后,首先建一个文件夹把所有的程序都放进去,命名为***rocedu;每学一门课程就在这个文件夹下建一个该课程的文件夹并用该课程的名字命名。
在该课程的文件夹下分别创建下列文件夹,
src:存放源代码文件;
include: 存放头文件;
bin:存放编译后的目标文件、可执行文件等;
lib:存放项目所需的静态库、动态(共享)库;
res: 存放项目所需的图标、声音、图片等资源;
docs: 存放项目相关的参考资料、帮助文档;
dist:存放打包,发布以后的代码。
之后通过 touch README Makefile 命令新建README 和Makefile两个文件。
README 是对项目的简要介绍:licence、功能、编译环境等,详细的要在docs下有帮助文档
Makefile: 实现项目编译自动化
输入命令tree就会出现以下显示:
三 在Ubuntu系统下进行编程并进行git
1 在vim中写程序
在src文件夹下放程序的源码,按章节分别建文件夹,例如第一章的hello world程序就放在src/01intro下,在src下新建01intro文件夹,使用 vim src/01intro/hello.c 命令进入vim写C代码。
写完之后通过: wq回车保存hello.c并退出,然后用命令 gcc src/01intro/hello.c –o bin/hello 来进行编译。上一条命令中“src/01intro/hello.c”是要编译的程序的路径,“bin/hello”是生成可执行程序并放在bin目录下,命名为“hello”,然后可以用.bin/hello命令来执行hello程序。上述就是用vim写程序并且编译的过程。
之后,通过git config对git进行简单配置,显示自己的个人信息。
2 用git cheatsheet进行项目管理
git cheatsheet中有常用的配置项:
我们可以通过命令git init把项目纳入git管理,以后就是常用的 git add ; git commit 了,使用git commit时一定要注意解释刚才做了什么。
例如:
git commit -m "initiate csapp2e project with hello world program" 说明“我们用hello world程序初始化了CSAPP2E这个项目”。"initiate csapp2e project with hello world program"就是解释做了什么工作。
在git cheatsheet中常用的git查看命令是 git log ,会显示出所有的历史记录。
3 用shell脚本简化编译运行程序
项目目录结构建立之后方便了程序的存放查找,但是文件目录太多,编译是相对路径太长,不方便记忆。例如: gcc src/01intro/hello.c -o bin/hello 。因此可以通过shell脚本简化编译运行程序。
用命令 vi compile.sh 进入compile.sh中编写脚本文件,“compile”是该文件的命名。
脚本是编译,运行程序的命令,一个脚本中可以写多个程序,每次运行脚本的时候脚本中的程序都会运行。shell脚本中第一行是固定写法,#后面是注释。
脚本写完之后,在用命令 ./compile.sh 就可以运行hello程序了。
源代码产生的中间文件不需要纳入git管理,比如bin。因此可以使用 .gitignore文件把不纳入git管理的文件、文件夹。
# 号后边是注释说明,“bin/”指明不把bin/纳入git管理。
跟之前一样,每次完成一个小任务之后,都要进行 git add . 和 git commit 一下,注释一下自己做了什么事,养成良好习惯。
4.将代码传到oschina上去
之前已经将git配置完成了,现在通过ssh的方式访问资源库,先要用命令 ssh-keygen –C ‘你的邮箱’ –t rsa 。这样就会在ssh文件夹下建一相应的密钥文件。
创建完公钥之后通过命令 cd ~/.ssh 进入 ~/.ssh 文件夹,用命令 getit id_rsa.pub 打开 id_rsa.pub 文件。复制其中所有内容。
复制完之后打开http://git.oschina.net/profile并登陆,右上角找到个人资料。如下所示的图标,进个人资料中。左侧有SSH公钥,点进去,在下边的公钥栏里把刚刚复制的东西全部粘贴进去。标题可以自己命名。
创建公钥完成之后,可以在Ubuntu下使用 ssh -T [email protected] 命令来测试连接是否连通。
如果成功之后会显示出来你的oschina的用户名。
接下来就是把你写的代码传到oschina中去了,先在oschina上新建项目,新建的项目一定要与你在linux系统下面建的项目名称一样。比如我在Ubuntu系统下建了一个yanglinuxc的项目要把学的linuxc这本书的所有代码都放到这个项目里,那你需要对应的oschina里创建一个yanglinuxc的项目。
在oschina中创建完成之后再回到Ubuntu系统下,用 git init 指令初始化一个git仓,接着输入 git add . 添加文件,用 git commit –m “注释” 进行注释之后提交至仓库。
接下来用命令 git remote add origin https://git.oschina.net/oschina的用户名/项目名 建一个远程主机,使是你的git仓与oschina建立了一个链接,origin就是你远程主机的名字。在这里要特别注意的就是你的oschina的用户名,尽量不要带中文,我就因为这个问题走了很多弯路,这个文件名可以在你的oschina用户中去找,在网页中登录账号,进入项目,在右侧的https中可以看到的就是我们命令中git remote add origin后边需要输入的。
我的用户名在设置的时候有中文,但是往oschina上传东西时的用户名没有中文的,一开始我就是带着中文的用户名一直上传不成功。
可以用 git remote 显示你的远程主机,用 git remote <主机名字> 就可以显示主机的地址。
远程主机建好之后就是上传代码,通过命令 git push origin master 将代码传到远程主机中,如下图显示会让你输入oschina账户的账号密码,账号一般为你设置的邮箱地址。
最后我想总结一下git remote命令:在
git remote :列出所有远程主机
git remote –v :查看远程主机的网址
git remote show <主机名> :查看该主机的详细信息
git remote add <主机名> <网址> :添加远程主机
git remote rm <主机名> :删除远程主机
git remote rename <原主机名> <新主机名> :修改远程主机名