Git 是目前最先进的 版本控制工具,拥有最多的用户,且管理着地球上最庞大的代码仓库;而Github是全球最大代码托管平台、开源社区。
有了他们,一切都不一样了:
- 同步代码到网络仓库,在家里写好代码上传,回到公司就可以继续写了,而且不怕丢失。
- 记录每次代码的修改,即使把程序写崩了,也能及时回溯到上一个版本,这在产品更新时也经常使用。
- 可以多人协作完成项目,每个人的提交都有清晰的记录。
Git 是一个版本控制系统,可以理解为一个工具,使用之前必须得先下载安装,所以第一步必须要安装。打开 终端
,输入 git
可以检测是否安装成功:如果成功安装了 Git,会显示 Git 的常用命令,以后忘记命令时,也记得输入 git
查看一下~
完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。
在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。账号申请完成后,打开命令行或者Git Bash,输入
git config --global user.name “Your Name”,之后回车,再输入
git config --global user.email email@example.com
其中Your Name和email@example.com替换成上面注册时的账户名和邮箱。
命令行下输入和Git Bash下输入均可。
命令行下输入如图:
Git Bash下输入如图:
相关入门操作:
1、新建一个代码仓库( repository):
储存代码的场所,点击个人主页的右上角的加号,再点击 New repository
,即可创建新的仓库:
然后给你的仓库命名(比如说 Demo),然后点击 Create Repository,无需考虑本页面的其他选项。
创建后,页面跳转到新建仓库的主页面,第一步成功了!
2、创建文件:
下面,让我们在本地新建一个文件,最后上传到刚刚创建的仓库中。
如果是在Linux系统下,可以直接在终端中输入对应命令即可,
然后在打开的文件中输入 #Demo
,保存文件后关闭 gedit 。
用 cat
命令查看一下文件内容:
创建文件 OK 了,但现在,Demo 目录还只是一个普通的目录,我们如何用 Git
来控制这个目录?
你只需在 Demo 目录中,输入 git init
即可。
这是 Git
的初始化操作,作用是将一个已存在文件夹,置于 Git 的控制管理之下。再 ls -la
命令,会发现一个名叫 .git 的目录被创建了,这意味着仓库初始化成功。可以进入到 .git 目录查看下有哪些内容。
3、提交代码:
Git 提交代码的基本流程是这样的:
- 创建或修改 本地文件
- 使用 git add 命令,将创建或修改的文件添加到本地的 暂存区,这里保存的是你的临时更改
- 使用 git commit 命令,提交文件到 本地仓库
- 使用 git push 命令,将本地代码库同步到 远端仓库
最终目标是:将本地的 Demo 仓库,同步到 GitHub 上的 Demo 仓库中。
git add:
使用 git add + 文件名/目录名
命令,可以将你需要同步的文件,添加到本地的暂存区。我们先进入 DEMO 目录,然后把 README.md 文件添加一下:
输入 git status
,可以检测当前目录和暂存区的状态,查看哪些修改被暂存了:
可以看到我们刚刚 add
的文件已经被初始提交了。
git commit:
git commit
提交是你工作的一个里程碑 —— 每当你完成一些工作,都可以创建一次提交,保存当前的版本。
这样一来,无论你何时修改了文件,都创建一个新版本的文件,你可以很方便地查看以往所有版本的文件和内容。
在提交之前,你必须先设置你的名字和 email,这是你在提交 commit 时的签名,每次提交记录里都会包含这些信息。
完成配置后,我们可以创建提交了,请输入:
commit
的语法结构是 git commit -m "注释"
,通过上个命令,你创建了一条注释为 “first commit” 的 Git 提交。
注意:
每次提交,你都必须用 -m + '注释'
编辑注释信息 。它不仅能协助我们辨别不同的版本,而且能让你理解,自己当时对文件做了什么修改。
比如当你每次在文件中添加了新的代码后,你可以写一句提交信息:“添加了 XXX 代码” —— 当你一个月后回来看提交记录或者 Git 日志 时,你还能知道当时做了什么。
4、与 Github 仓库同步
要把本地仓库提交到远端仓库(即 Github 仓库)中。
连接 Github 仓库:
使用如下命令,将本地仓库连接到 GitHub 仓库中:
仓库链接请在这里复制,并用剪切板功能粘贴进去:
分析一下这个命令,首先 remote 的意思是远程,git remote add
表示通知 Git 去添加一个远程仓库,后面接上的 origin
是这个仓库的小名,方便以后沟通,通常默认用 origin
来表示;最后再接上远程仓库的地址,即你刚刚创建的 Github 仓库链接。
push命令:
push
顾名思义,就是推送, 使用 push
可以把本地仓库推送到远端仓库中。具体命令:git push origin master
执行后,GitHub 服务器 需要验证你的身份,按提示输入你的用户名和密码即可完成 push 同步。注意:在 Linux 中输入密码是不可见的,输完后直接按回车键即可。
再刷新你的 Github 仓库,就会发现多了这些东西:
分支的概念:分支在多人协作中经常会被用到,但前期我们用不到这个功能,为了不给你增加认知负担,这里就先不讲了。你只需知道 Git 管理的项目进程中,有一条默认的主分支 - master
即可。(想象 Git 是一棵树,master
就是树干,树干上还可以生出很多分支来,如 master 2.0、master 3.0 等)
5、克隆 GitHub 上的仓库
git clone
命令,它可以帮你拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。
如果你想要复制一个项目,看看代码,或者把自己的远程仓库复制到本地,可以执行命令:git clone [url]
[url] 指的就是你想复制的仓库,我们在 github.com
上提供了一个名字为 gitproject
的公开仓库, 供大家测试,现在你要把这个仓库复制到实验环境中,只需输入:
cd /home/shiyanlou/
git clone https://github.com/shiyanlou/gitproject
操作完成后,会发现 /home/shiyanlou 目录下多了一个 gitproject 文件夹,这个文件夹里的内容就是我们刚刚 clone 下来的代码。