上一篇文章讲解了github实现一个远程仓库的功能,但是我们必须要在联网的情况下才能使用,而且重复的点击上传也不是很方便。当我们没有网络的时候,我们更需要一个类似的版本控制。
git 是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,以后虽然修改了,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误的更改,可以进行还原。
关于github,这是一个网站,就是每个程序员自己写的程序,可以在github上建立一个网上的仓库,你每次提交的时候可以把代码提交到网上,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习
下面来介绍git.
首先我们打开Git - Downloads网址来下载git.选择我们合适的windows 64位版本下载。
根据安装包提示进行安装,其中这一步时选择第一个use git from GIT Bash only,意为只能从git bash里面使用git命令,即不能在cmd命令行中使用,应为这个选项不会把git命令加入到环境变量中。
![59d6b25132401c9177b10985dfa605a2.png](https://i-blog.csdnimg.cn/blog_migrate/a1244db578273801d07426b6befb712e.jpeg)
安装好git之后创建一个仓库文件夹右键鼠标出现有git bash here表名安装成功,我们一般不适用git GUI here因为在linux下是通过命令行的,当做熟悉吧。
使用git之前先介绍一些基本概念。
(1)git分为三个区域,工作区,暂存区,git仓库。
![c8341ef679f5af8b746d46ca50d55222.png](https://i-blog.csdnimg.cn/blog_migrate/e533cd2d53a4475c29c165b299adc732.jpeg)
(2)基本工作流程
我们要先工作区的内容提交到暂存区,然后在通过暂存区提交到git仓库
git add 文件 提交到暂存区
git commit -m'提交描述' 提交到git仓库
git status查看当前的一个状态,比如新文件提交到暂存区会显示new file:xxxx
![a071000e3bca43c6d5291baa2c62a8c1.png](https://i-blog.csdnimg.cn/blog_migrate/fef7cf0e51324c03aa0d5e1ec673ad04.jpeg)
下面介绍如何使用git(一般步骤)
首先我们需要读git进行初始化
创建文件夹,在文件夹下git init
设置用户名:git config --global user.name '你再github上注册的用户名';
设置用户邮箱:git config --global user.email '注册时候的邮箱';
设置完成之后可以使用
git config --list命令来查看配置信息
接下来我们需要同远程仓库github进行互动,这也是git存在的意义
![02ae1cf06682e614ce772dbb7da7e9e4.png](https://i-blog.csdnimg.cn/blog_migrate/0151fedc039809bda2a3d13fe91ec776.jpeg)
首先我们将远程的仓库同步到本地通过命令
![5a7b0d15b9916cbea99ebf1562037fc9.png](https://i-blog.csdnimg.cn/blog_migrate/a5219712d7106b9a5c02a2973d828df1.jpeg)
git clone 仓库地址
我们就可以将仓库复制到本地。
然后可以对本地的文件进行一些更改。
之后通过命令
git add 文件名
或者提交全部变动的文件git add .
将工作区的文件提交进入暂存区,之后通过命令
git add -A 或者 git add --all
提交全部内容。比如我们删除了很多文件夹,一个文件夹一个rm命令显然效率低下,手动删除后执行git add -A即可
git rm 文件名
删除文件
git commit -m'提交描述' 提交到git仓库。
最后通过
git push 命令 将git仓库中的内容同步到远程仓库中
这时候可能需要验证一下账号密码之内的,如果不成功可以尝试百度中的一些方法,修改config文件等
这里介绍几个额外的常用命令:
git log显示版本信息,每次commit都会相当于提交一个版本,这是非常方便的,因为一旦出现错误,还能够回退到以前的版本
commit后的就是我们的版本号
![5d9188c88a744e4c499b3b3b4c2fb85e.png](https://i-blog.csdnimg.cn/blog_migrate/f4d607b981cc298624a08bf7244b1e08.jpeg)
(我们输入git log后,按Q可以退出log日志)
git reset --hard 版本号
回退到指定的版本
(如果你没有commit你的本地修改(甚至于你都没有通过git add追踪过这些文件,当他们被删除,git reset --hard对于这些没有被commit过也没有git add过的修改来说就是具有毁灭性的,destructive!!)
but,如果你幸运的是曾经通过git add命令追踪过这些文件,只是没有commit它们而已!那么试试git fsck --lost-found这个命令吧!然后你就可以在本地项目文件中路径为.git/lost-found/other(楼主亲自试验就是这个路径)中找到它们!!并且呢,这里面包含了所有的没有被commit(指定到某次commit)的文件,甚至可能还包括你每次git add的版本(version一词实在不知道在这里怎么翻译,姑且就认为是版本吧)!)
以上只是介绍了一些基本的使用方法,基本可以实现了一个远程仓库管理的作用,复杂的话可能还要涉及到分支,权限管理等。后续如接触到再加以补充