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