Git使用命令

  这里记录下git的日常操作以及使用的攻略。这里也有官方教程供大家学习:官方教程

一、创建自己的代码仓库

  其实我们要分清楚git和Github,Gitlab,Gitee(码云)这些云仓库的差别。首先git是一个软件,安装方式可以参看官方的步骤。当你在你的电脑中安装好了这样一个软件git之后,你就可以使用git来帮助管理你的代码/文件。这里说的“管理”主要是包括:修改文件的回溯(比如说你想回溯到3天前的文件样子),我想对比一下现在的代码和以前的代码有什么不同,把我的代码传送到云端保存(类似于把代码文件传送到“云盘”)...这就是git这个软件所能做的事情。当我们把git作用到一个文件夹上,那么这个文件夹就可以称为一个仓库了,git软件就像个自动化的管家,会记录下你的仓库里(文件夹)进进出出的货物(操作),并做成一个清单,可以让你随时查看,什么时间什么人做了什么样的操作。但是这一切都是再自己的电脑里记录的,如果电脑丢了,或者别人想用你的电脑里的代码,是不是就很麻烦,于是前面提到的平台Github,Gitlab,Gitee(码云)就是云的git仓库。相当于一个云盘(类似百度网盘),不过这些平台都支持git一样的功能,可以记录下什么时间什么人做了什么样的操作,并且可以被互联网上的人访问并下载(如果是公有库),当然也可以自己开一个私有库(只有自己能访问,互联网上其他人无法访问)。

  说了这么多我们直接开始我们git操作吧。对于前面提到的我们需要把git作用到一个文件夹里,主要方式是使用命令行。无论是Linux还是win系统,(cd)进入到目标文件夹内,输入以下语句,就能完成仓库的初始化(把一个文件夹变成一个仓库)

$ git init

  这个时候我们就把一个目标文件夹,成功变成了我们的仓库了。

二、连接远程仓库

  前面提到关于什么是远程仓库,例如Github,Gitlab,Gitee(码云),我们首先要学会如何从这些平台上获得我们想要的仓库(里面的内容),这里涉及到一个专业名词叫做拉取(pull),我们可以理解为下载。我们在以上任意平台上拉取下来的文件夹,都已经自动被设定成仓库了,因此我们不需要再对拉取下来的文件夹进行初始化了。我们学会了如何获取这些平台上别人分享的代码,那我们也需要知道怎么样才能把我们的代码推送到这个平台上,让平台帮我们储存,或者能让网络上的其他人看到,而推送代码的这个才做也有个专有名词叫做推送(push)。

  上面介绍了,远程仓库最重要的两个操作,但是做这些操作以前,我们是不是需要让平台知道,是我在推送这个代码而不是别人?那应该怎样让平台和我产生认证呢?(主要是采用公钥和私钥的对应认证)大家可以把公码和私码理解成对应的密码本AB,我进行数据传输的时候先把数据用密码本A加密,当别人收到我加密后的数据再利用我给他的密码本B对应着解密。如果别人没有我的密码本B,那就算他获取到了我的加密后的数据却依然无法破解我到底传输的是什么东西,这样的机制就是私码和公码的认证。这样的机制很安全。因此以上说到的所有远程仓库都是采用这样的方式进行的,因此我们需要做的就是两件事,第一,产生密码本A(私钥),密码本B(公钥);第二,把密码本B(公钥)给到我们的平台对应的个体用户下面。完成上述两件事之后,就相当于完成了本机电脑和远程仓库的互相认证了,你就可以进行上述的操作了。下面我们使用命令行来完成第一和第二件事。

1、生成公钥和私钥

ssh-keygen -t rsa

  如果是在自己电脑上可以无脑摁回车,因为会让你设置密码啥的,其实在个人电脑上没啥必要。完成命令行执行之后,在你的.ssh文件夹下(win用于一般这个文件夹在C:\Users\你的用户名\),我们在这个.ssh文件夹下面会发现一个id_rsa.pub文件,这就是我们的公钥,我们选择使用记事本打开这个文件,复制里面所有内容(所有包括英文和字母)。

2、给对应平台公钥

  我这里用Gitlab为例,进入主页,点击头像下面有settings选项,进去之后选择SSH keys and GPG keys选项,创建一个新的SSH key(New SSH key),把你上一步复制好的key粘贴到对应位置,就可以了(有些平台可能会让你输入一些title,方便你识别多台电脑)。

  完成以上的两步之后,你就可以和云平台进行拉取和推送的操作了。(如果还不会可以百度:XXXX如何进行SSH连接,把XXXX换成你想要连接的平台名称即可),这里也推荐一篇连接Github的博文,将得也很详细:参考网址

三、如何绑定远程仓库

  本地创建仓库和如何和线上仓库合并:

  

当前分支,把其他分支的内容合并到当前分支来。 

git merge master --allow-unrelated-histories

四、.gitignore文件以及解除跟踪操作

  待更新

五、回退版本

  待更新

 

参考网页:

https://www.cnblogs.com/jingxin1992/p/9022301.html

https://blog.csdn.net/Wbl752134268/article/details/108290902

https://www.cnblogs.com/kevingrace/p/5690241.html

Git——跟踪或取消跟踪文件_vincent_duan的专栏-CSDN博客

更新gitignore后如何使其生效_Falcon2000的专栏-CSDN博客_gitignore更新

posted @ 2025-03-14 16:00  Circle_Wang  阅读(21)  评论(0)    收藏  举报