今天来讲一个程序员都用得到的工具,那就是Git,相信对此都并不陌生。我们所开发出来的项目最终都是要部署在服务器上的,那么在开发过程中并非一次就能全部完成,中途可能需要进行优化相关功能、添加相关功能或者减少相关功能等等的操作。这时有一个代码管理工具就显的尤为重要,它不仅可以帮助我们管理项目的版本,还可以随时随地回到想要的任何状态,可谓是项目的管理神器。
下面就来详细的介绍下这个工具的安装以及使用方法,这里要讲的知识点有很多,图文也很多,需要耐心看完,下面就逐步来介绍。
这里以Windows系统为例,首先我们要去官网下载所需的安装包。
![c1d07d0550fc8e249eeb21f18fa32f19.png](https://img-blog.csdnimg.cn/img_convert/c1d07d0550fc8e249eeb21f18fa32f19.png)
官网
将下载好的安装包进行安装,这里不需要注意,直接点击“next”即可,属于是傻瓜式安装,直到出现下面的页面,点击“finish”即可安装完成。
![9ebec99f058eeb389b2228a26a98dbcc.png](https://img-blog.csdnimg.cn/img_convert/9ebec99f058eeb389b2228a26a98dbcc.png)
点击完成即可
在安装完成后,直接在启动栏有快捷启动方式,可以直接在桌面右击鼠标,可以找到“Git Bash”,进入到操作界面。
1、进入界面后,首先要进行的是初始化仓库,运行命令“git init”
![9b5eb50a7e9bc3a7b275b93bb3a06f5e.png](https://img-blog.csdnimg.cn/img_convert/9b5eb50a7e9bc3a7b275b93bb3a06f5e.png)
运行完成后,会在当前目录的文件夹下多出一个隐藏文件“.git”,这时不需要理会这个隐藏文件是干嘛的,它是在初始化仓库后自动创建的文件。
然后再运行命令“git status”,可以看到当前文件夹里的文件,我们可以看到这时文件夹下是没有任何文件的。
![81c921f45dbc5e7e09d5f190d7848d03.png](https://img-blog.csdnimg.cn/img_convert/81c921f45dbc5e7e09d5f190d7848d03.png)
2、在当前文件下创建一个文件,来进行添加和提交操作。
![63a0009197c2c8159ddd67b0a87a0238.png](https://img-blog.csdnimg.cn/img_convert/63a0009197c2c8159ddd67b0a87a0238.png)
创建测试文件
这时再使用命令“git status”来看看有什么变化?
![50a532035dd7f3461f48ad485a2f42a7.png](https://img-blog.csdnimg.cn/img_convert/50a532035dd7f3461f48ad485a2f42a7.png)
此时可以看到文件夹里有显示文件了,但是不支持中文。没关系,这都不是问题,可以使用下面的命令
此时让我们再来看下现实的结果。
![48c2d554ae41d71e4a2e9fda01f7c28f.png](https://img-blog.csdnimg.cn/img_convert/48c2d554ae41d71e4a2e9fda01f7c28f.png)
这时的中文文件名已经可以正常显示了,但是在这里有点小建议,还是使用英文来命名,尽量不要使用中文来命名。
下面就该干正事了,添加文件,使用git add 命令上传。
但是此种做法的上传只能上传一个文件,如果在文件夹中有多个文件的话,要是一个一个上传的话,就有点不科学了。这里有一个命令可以将文件全部上传:git add -A
所以此时我们选择使用这个命令来上传
![9893e5740edb2562cf6f34c7111d1d91.png](https://img-blog.csdnimg.cn/img_convert/9893e5740edb2562cf6f34c7111d1d91.png)
运行完成后,没有给我任何的提示?没关系,可以使用git status来检查下结果
![79963d716b3f3d7f4c25308401727122.png](https://img-blog.csdnimg.cn/img_convert/79963d716b3f3d7f4c25308401727122.png)
此时可以看到有提示 “changes to be committed”,说明已经添加成功,可以执行后面的命令commit了,下面有显示添加的文件名。
下面来执行 git commit -m "提交信息" 的命令,引号内填写提交的信息,方便日后的查看和管理。
![aacaf9a8147bd1ddca8a2e226a31dc03.png](https://img-blog.csdnimg.cn/img_convert/aacaf9a8147bd1ddca8a2e226a31dc03.png)
在提交成功后,可以使用git log来查看提交的日志。
![8f27c007e7147a4a753ea1e0c9136912.png](https://img-blog.csdnimg.cn/img_convert/8f27c007e7147a4a753ea1e0c9136912.png)
这样就完成提交了。
3、文件的修改
如果文件里面的内容进行了修改,然后我们使用git status来看有什么变化
![59afaacd1b0a434654dcb60bf065c907.png](https://img-blog.csdnimg.cn/img_convert/59afaacd1b0a434654dcb60bf065c907.png)
这时我们看到的提示信息跟之前的不一样,如果想要看看具体的变化信息,可以使用git diff命令来查看
![af10219d44b73fba7d50e8ba5bd954b5.png](https://img-blog.csdnimg.cn/img_convert/af10219d44b73fba7d50e8ba5bd954b5.png)
此时可以看到前面的加号或者减号,加号代表添加,减少代表删除
这样就可以很清楚的了解都干了些什么,哪里更改了,哪里添加了什么内容。
如果说对刚才的添加不满意,或者想要撤销,也是可以的。可以直接执行命令
![782683bdbf9b180047f8980040e73888.png](https://img-blog.csdnimg.cn/img_convert/782683bdbf9b180047f8980040e73888.png)
这个执行完成后,也没有任何提示,那么还是使用git status来检查下。
![43a8ca587bb4eef3ed9a18bb30b073c2.png](https://img-blog.csdnimg.cn/img_convert/43a8ca587bb4eef3ed9a18bb30b073c2.png)
上一个的status的提示已经不见了。在来检查下文件,发现已经还原了。
下面我们再接着来继续添加git add -A
![9e8d414eb98aab4f9820f781d02a9a9f.png](https://img-blog.csdnimg.cn/img_convert/9e8d414eb98aab4f9820f781d02a9a9f.png)
这时使用git log命令来查看之前提交的记录
![399e7f63e8e1cb227385cfdfa5e20870.png](https://img-blog.csdnimg.cn/img_convert/399e7f63e8e1cb227385cfdfa5e20870.png)
可以看到,有两次提交的记录版本
4、版本回退
在平常的工作中,如果在之前的版本上进行了一次修改,后来在使用时出现了问题,那么此时就想要回到最初的那个版本,这时应该怎么办呢?版本回退可以解决这个尴尬的问题。
我们可以从上面的信息看到,有两行commit开头的,后面跟了很长的数,这就版本号,并且是唯一的,没有两个相同的版本。下面还有作者和日期的信息。
版本回退就是根据版本号来实现的,需要执行命令git reset --hard + 版本号(这里只需要版本号的前7位就可以)
![37368f140ed4ea6a0d8723bb42ec0fa7.png](https://img-blog.csdnimg.cn/img_convert/37368f140ed4ea6a0d8723bb42ec0fa7.png)
这时就已经回到指定的版本了,现在再来看下git log
![af4862740b9d5a662ee1b90728f2590d.png](https://img-blog.csdnimg.cn/img_convert/af4862740b9d5a662ee1b90728f2590d.png)
可以看到只有一条记录,后来添加的记录被清除了。
那么如何回到最新版呢?先来执行git reflog
![edb8ba852149418d7c6eea662dbaa1e9.png](https://img-blog.csdnimg.cn/img_convert/edb8ba852149418d7c6eea662dbaa1e9.png)
可以看到head的变化情况
第一行是表示当前的版本号。之所以会有这个版本,是由于我们执行了reset命令。
第二行的版本号出现是,这个是在执行commit命令之后形成的。
这时我们再用一次reset,将head指向 e5ca7c9,同时查看log
![10257722d314faf3be00cf79d10587e2.png](https://img-blog.csdnimg.cn/img_convert/10257722d314faf3be00cf79d10587e2.png)
这时就回到第一次reset的状态了
5、清除未追踪的文件
通常在reset或者pull之后要做两件事情
a:将新添加且未追踪的文件删除
b:已追踪的文件有修改,但有不需要这些修改,将它们还原。
这时用checkout是没办法删除掉的,需要使用git clean -xf
![6c1fe284f07b850a981bc5d404aa5343.png](https://img-blog.csdnimg.cn/img_convert/6c1fe284f07b850a981bc5d404aa5343.png)
下面这是执行命令前后执行命令后的对比
![e6eb22f796079a326eef707e9e39640c.png](https://img-blog.csdnimg.cn/img_convert/e6eb22f796079a326eef707e9e39640c.png)
执行前
![ee4e01cc90d830ce4bf0e92c0296d19c.png](https://img-blog.csdnimg.cn/img_convert/ee4e01cc90d830ce4bf0e92c0296d19c.png)
执行后
这个命令会删除掉为追踪的文件。‘delete.txt’文件就是没有被追踪的文件,所以就被清理了。
Git和GitHub进行关联
1、没有GitHub账号,没关系,直接打官网进行注册一个即可,地址为:https://github.com
2、本地配置用户名和邮箱
git config --global user.name ‘用户名’git config --global user.email ‘邮箱’
![0887446115f2f1df87a1bbd58dcf6e6f.png](https://img-blog.csdnimg.cn/img_convert/0887446115f2f1df87a1bbd58dcf6e6f.png)
这是一种方法,还有一种方式是直接在文件里进行修改。
文件的位置在 C:/users/你的电脑用户名/.gitconfig,也可以在这里直接添加信息。
![2af15f516c3a7876d0378c8b80f4c16a.png](https://img-blog.csdnimg.cn/img_convert/2af15f516c3a7876d0378c8b80f4c16a.png)
3、生成SSH key
在命令行输入命令 ssh-keygen -t rsa -C “邮箱地址”,中间会有三次提示输入,不用做任何改动,直接回车即可。
![7e00a1ae3f251bf1565d35a247e22561.png](https://img-blog.csdnimg.cn/img_convert/7e00a1ae3f251bf1565d35a247e22561.png)
将执行生成的ssh key 复制到剪贴板,执行 clip < ~/.ssh/id_rsa.pub,或者是倒上面执行的文件里去复制。
![9a366c3d0c5d83a0052016cd737e4cc4.png](https://img-blog.csdnimg.cn/img_convert/9a366c3d0c5d83a0052016cd737e4cc4.png)
4、连接GitHub
打开GitHub,进入到settings
![5a5d64456f9a6ffd747afbe774c85892.png](https://img-blog.csdnimg.cn/img_convert/5a5d64456f9a6ffd747afbe774c85892.png)
找到SSH and GPG keys
![424eac1420d8e9c885a96f8536d2ef92.png](https://img-blog.csdnimg.cn/img_convert/424eac1420d8e9c885a96f8536d2ef92.png)
这里的标题随便写,不影响,可以为中文,也可以为英文。最后在把key粘贴在下面的框里
![b613fe5af833489177d3fb23a9f6b781.png](https://img-blog.csdnimg.cn/img_convert/b613fe5af833489177d3fb23a9f6b781.png)
最后点击Add SSH key就添加成功了
添加完后后,可以测试下连接是否成功,输入命令
![553ea49771f9501785ff4024cff675b5.png](https://img-blog.csdnimg.cn/img_convert/553ea49771f9501785ff4024cff675b5.png)
看到这样的消息证明连接成功了
创建远程仓库和本地关联
1、点击创建远程仓库
![71e3fafe4b3060ea796a67afaa4a351c.png](https://img-blog.csdnimg.cn/img_convert/71e3fafe4b3060ea796a67afaa4a351c.png)
输入远程仓库名。这里有公有的和私有的,我们创建公有的
![7f641128cf9597f6832c74dd69c217e6.png](https://img-blog.csdnimg.cn/img_convert/7f641128cf9597f6832c74dd69c217e6.png)
最后点击Create repository,就创建完成。
2、将远程仓库和本地仓库连接起来
现在GitHub上复制远程仓库的ssh地址
![97d11251ac612665fc40aa7c7bb993a2.png](https://img-blog.csdnimg.cn/img_convert/97d11251ac612665fc40aa7c7bb993a2.png)
有两种方式可以关联,一种是ssh,一种是HTTPS,由于HTTPS较慢,我们选择试用ssh
ssh的地址格式是这样开头的 git@github.com,然后执行命令
![630a4b7ef347a3d228fdb4420b31c640.png](https://img-blog.csdnimg.cn/img_convert/630a4b7ef347a3d228fdb4420b31c640.png)
然后上传文件,在创建repository的时候,加入了README.md或者LICENSE,这是GitHub或拒绝你的push推送。需要先执行
再执行
![ae8c40a832017e5e8d547c0c6b8236b6.png](https://img-blog.csdnimg.cn/img_convert/ae8c40a832017e5e8d547c0c6b8236b6.png)
这表明关联成功了。以后想要更新文件到GitHub上,在执行完commit后再执行git push就可以实现同步了。
码子不易,如果有帮助到您,感谢支持