目录
1 概述
介绍在Ubuntu 18.04系统中安装和使用git工具,实现在GitHub上的代码托管。
上图是操作的示意图。其中,
- 本地:安装ubuntu和git工具
- 远程:GitHub创建账号,以及项目对应的仓库repository
2 背景知识
Github 是一个开源软件的宝库,里面存放着世界上最棒的一些软件项目。这些软件项目由全世界的开发者无私贡献。这个平台非常强大,大大帮助了软件开发者,是开源社区中的明星。
通过这篇文章,你将快速学会:
- 如何针对某个具体项目,在本地创新一个仓库
- 如何将本地仓库托管到github
- 如何实现仓库的上传和更新:本地到github的上传或更新(托管)
- 如何下载github上的已有软件项目(仓库)
本文是对于安装和使用 GitHub 的的一个快速说明,本文还将涉及诸如创建本地仓库,如何链接这个本地仓库到包含你的项目的远程仓库(这样每个人都能看到你的项目了),以及如何提交改变并最终推送所有的本地内容到 Github。
请注意本文假设你对 Git 术语有基本的了解,如推送、拉取请求(PR)、提交、仓库等等。并且希望你在 GitHub 上已注册成功并记下了你的 GitHub 用户名,那么我们这就进入正题吧。
3 准备工作
- 本地电脑ubuntu上安装git工具(ubuntu 18.04):
sudo apt-get install git
- github注册个人账号,创建项目仓库
(参考相关网页方法,非常简单)用你的个人常用邮箱,注册建立个人账号后,确认你的user_name,即用户名。该用户名建议一开始想好,后续github上所有与你有关的项目都有这个用户名的印记。本例中的user_name为kk,邮箱为kkx@qq.com。 - 本地:配置远程github的账户信息,实现本地与github关联。
git config --global user.name "kk"
git config --global user.email "kkx@qq.com"
- 了解基本术语: 托管、仓库repository、push、pull、commit等
4 项目托管步骤
4.1 为项目建立本地和github仓库
- 本地仓库创建
在本地电脑系统上,为项目创建一个目录,作为本地项目仓库:
git init Rep_projectA
其中,Rep_projectA是创建的目录,而init 将其转化为一个 GitHub 仓库。稍后它会被推送到 GitHub 的远程仓库。
将当前目录改为这个新创建的目录。
cd Rep_projectA
- github仓库创建
在 GitHub 上创建一个仓库,请注意仓库的名字必须和本地创建的仓库的名字严格一致。在这个例子里是 “Rep_projectA”。
请首先登录你的 GitHub 账户。点击页面右上角的 “+” 符号,并选择“create new repository”。根据提示填入详细信息,点击 “create repository”。
4.2 为本地项目仓库建立文件
- 新建一个 README 文件来描述仓库:
gedit README
创建一个 README 文件并输入一些文本,如 “this is git setup on linux”。README 文件一般用于描述这个仓库用来放置什么内容或这个项目是关于什么的。
- 创建代码文件:
gedit hello.c
以上,创建了一个简单的 C 程序hello.c。文件内容是:
#include<stdio.h>
int main()
{
printf("hello world");
return 0;
}
4.3 为本地文件创建索引
- 将所有需要推送到 GitHub 的内容都加入一个索引
git add README
git add smaple.c
这些文件可能包括你第一次加入仓库的文本文件或应用程序,也有可能是对已存在文件的一些编辑(文件的一个更新版本)。
请注意 git add 命令能将任意数量的文件和目录加入到索引。这里,当我们说 “索引”的时候,我是指一个有一定空间的缓冲区,这个缓冲区存储了所有已经被加入到 Git 仓库的文件或目录。
4.4 为本地文件及其改动添加说明
创建完成或修改完成本地项目仓库中的文件后,准备上传到github仓库之前,可以使用命令添加说明:
git commit -m "some_message"
其中,“some_message” 是说明信息,可以是一些简单的信息如“我的第一次提交”或者“ 编辑了readme 文件”,等等。
4.5 上传至GitHub
完成仓库创建、编写文件、添加索引、添加说明等上述步骤后,现在可以将本地的仓库推送到 GitHub 你账户名下建立的同名仓库了。用下列命令连接 GitHub 上的仓库:
git remote add origin https://github.com/kx/Rep_projectA.git
用下列命令将本地仓库里的文件推送到 GitHub 仓库:
git push origin master
当提示登录名和密码时键入登录名和密码。
4.6 日常更新托管
日常开发中,如果本地计算机更新了项目的源文件或程序后,可以通过push命令及时更新远程GitHub的仓库托管文件,实现本地和远程仓库的更新和同步。命令同样是:
git push origin master
注意:git push origin master报错, 如reject,则说明本地库和远程仓库冲突太多,使用git pull解决冲突。
git pull
git push origin master
其中,pull是先将远程仓库的变化更新到本地,然后再用push托管到远程GitHub。一般的原因是:在网站上更改了README.md文件,添加了一些项目的说明,然后使用Git客户端再次提交的时候,需要先更新服务器上的变化,然后才能提交,也就是先更新再提交!!!
建议:每天完成开发后,都push到远程github,保持本地和远程的日常托管同步!
4.7 建立另一个项目仓库并托管
重复上述4.1-4.7步骤即可。
总结
本文介绍了如何在 Linux 上安装 Git、配置 GitHub、创建本地仓库、新建一个 README 文件来描述仓库、将仓库里的文件加入一个索引、将所作的改动加入索引、在 GitHub 上创建一个仓库、将本地仓库里的文件推送到 GitHub 仓库等。
现将常用的命令列举:
最简单的托管流程:
git init 仓库名
git add 文件名
git commit -m "first commit"
git remote add origin https://github.com/账户名/仓库名.git
git push -u origin master
//如果rejected报错,则本地仓库同远程仓库更新之后在提交
git pull
复制别人的仓库到本地
git clone 仓库地址
拉取别人的仓库:
git fetch https://github.com/别人账户名/别人仓库.git master:dev
检查分支
git branch
合并分支
git merge
拉取合并自己的仓库:
git pull
查看增加/删除了哪些文件:
git status
输出commit id:
git log
退出git log
英文状态下的Q