Git基础命令+Gitee代码托管平台学习

前言:之前学的有点错误,这里根据狂神b站的视频,进行知识点整理?

一、git是什么?

        git是一个版本管理工具,可以很好的控制你的代码修改版本,保持本地仓库和远端仓库的代码一致性。和svn最大的不同是,svn所有的版本数据都存在服务器上,用户只保留有上一次同步的版本,用户看不到历史版本。

二、git的下载和使用

       1、 Windows 平台上安装
        安装包下载地址:https://gitforwindows.org/
        官网慢,可以用国内的镜像:https://npm.taobao.org/mirrors/git-for-windows/。
        下载之后无脑安装,安装之后,可以直接在当前文件或桌面右键打开Git Bash
        

Git基础命令+Gitee代码托管平台学习_第1张图片

         2、基础配置

                在使用git之前,需要对git做一些基础的配置包括用户账号和邮箱

  •                 git config --system --list #查看系统配置文件
  •                 git config --global --list #查看全局的用户配置

Git基础命令+Gitee代码托管平台学习_第2张图片

        当然我们没有配置任何数据的时候,global的用户配置是没有数据的,使用以下命令进行用户数据的配置:

  •         git config --global user.name "xx"   #配置用户名字(标记每一次提交是谁提交的)
  •         git congig --global user.password "pws1234"  #配置有用户密码
  •         git config --global user.email [email protected]   #配置用户邮箱        

        执行成功后,再次查看global的配置,是否已经配置成功,系统配置和用户配置都可以在文件中找到并且打开查看编辑

        个人配置的信息在C:\Users\Administrator.gitcongig 中可以查看
        系统默认配置的信息在你安装git的盘,例如:D:\Git\etc\gitconfig 中查看

Git基础命令+Gitee代码托管平台学习_第3张图片

Git基础命令+Gitee代码托管平台学习_第4张图片

         3、git的四个工作区域

               

Git基础命令+Gitee代码托管平台学习_第5张图片

                Working Directory:工作区,平时存放项目代码的地方

                Stage/index :暂存区,实际上只是一个文件,临时存放你的改动,保存即将提交到文件列表信息

                Repository/history:仓库区(本地仓库),存放数据的位置,有你提交所有版本的数据,其中HEAD指向最新放入仓库的版本

                Remote Directory:远程仓库,托管代码的服务器,可以认为是项目组中一台电脑用于远程数据交换,存储本地提交的所有数据和版本

                注意:我们只需要管理2个区域,那就是工作区和远程仓库,暂存区实际上是一个概念,其他2个区域几乎不用管理,只需要命令行操作即可。如果是git版本控制的项目,在项目文件下有个.git的隐藏文件夹

        4、git的工作流程

                1、创建一个git工作目录(本地创建或者远端拉取)

                2、在工作目录中添加、修改文件  newfile

                3、将需要进行版本管理的文件放入暂存区域  git add .

                4、将暂存区域的文件提交到git仓库  git commit

                5、推送到远程仓库  git push

Git基础命令+Gitee代码托管平台学习_第6张图片

         5、git项目搭建(本地仓库不和远端对接)

                5.1在适合的位置新增一个文件/工作目录 就叫它gitwork吧

                5.2进入文件内部,右键git bash ,执行git init 初始化这个文件为git文件
               

                

Git基础命令+Gitee代码托管平台学习_第7张图片

                5.3查看状态  git status

                       5.3.1无修改的时候没有新文件提示

Git基础命令+Gitee代码托管平台学习_第8张图片

                           5.3.2 当对文件进行了操作(比如新加了一个文件)再次查看status,提示有一个文件没有被跟踪

Git基础命令+Gitee代码托管平台学习_第9张图片

                         5.3.3 使用git add . 把新加的文件提交到暂存区,此时新的修改文件变为绿色,意思是可以提交到本地仓库了  注意有个点.代表提交所有

  •                                 git add .

Git基础命令+Gitee代码托管平台学习_第10张图片

                         5.3.4将暂存区的提交到本地仓库

  •                          git commit -m "提交的备注"

Git基础命令+Gitee代码托管平台学习_第11张图片

                         5.3.4这个时候再次看一下status,发现以及没有可以提交的数据了

Git基础命令+Gitee代码托管平台学习_第12张图片

         6、拉取远端的仓库,例如在gitee拉取已有的项目

                6.1 在gitee平台上创建一个仓库

                6.2 在本地选择要放置项目的位置,我这里选择的是桌面,复制仓库地址进行本地clone

  •                         git clone  https://gitee.com/kakamisama/20221110git_study.git

                Git基础命令+Gitee代码托管平台学习_第13张图片

 Git基础命令+Gitee代码托管平台学习_第14张图片

 Git基础命令+Gitee代码托管平台学习_第15张图片

Git基础命令+Gitee代码托管平台学习_第16张图片

Git基础命令+Gitee代码托管平台学习_第17张图片

                拉取后,就可以按照正常的流程进行add  commit push等

         7、如何忽略不想同步的文件到本地仓库或者远端

                7.1 在项目目录下git bash 输入touch  .gitignore  即可创建一个.gitignore的文件(注意要用命令行创建,新建一个txt是不生效的)

  •                                 touch  .gitignore 

Git基础命令+Gitee代码托管平台学习_第18张图片

                7.2 打开ignore文件,在文件中填写想要葫芦的文件和文件夹(一般忽略项目ide默认配置文件和日志等)这里以项目根目录下的tmp文件夹和text.txt文件举例子(具体匹配规则可以百度)

                Git基础命令+Gitee代码托管平台学习_第19张图片

                 当我保存后,新增一个tmp文件夹和text.txt的文件,再执行git status的时候,就不会提示有新的文件等待提交跟踪,只会有一个刚刚修改过的.gitignore,已经忽略了配置的两个文件

        

Git基础命令+Gitee代码托管平台学习_第20张图片

                 这个时候再次add 或者commit都不会把忽略的选中了

        8、如何更安全的下载项目

                8.1我们在gitee中选择克隆项目的时候,发现又很多选项,其中最熟悉的是https和ssh克隆,这俩有什么区别呢?

                HTTPS:不管是谁,拿到url随便clone,但是在push的时候需要验证用户名和密码;
                SSH:clone的项目你必须是拥有者或者管理员,而且需要在clone前添加SSHKey。                

                SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

                 

                8.2获得ssh公钥

                      随便在什么地方打开git bash

                       执行  ssh-keygen -t rsa  #生成一个ras的加密算法,确保传输安全

                        [-q] 安静模式

                        [-b bits] 位数

                        [-t dsa | ecdsa | ed25519 | rsa | rsa1] 加密算法

                      如果有提示选择一直空格回车,执行后,在c盘的用户文件夹下有一个.ssh文件夹打开后可以看到两个文件,其中id_rsa 后缀是pub的文件,是公钥,另一个是私钥,复制公钥,添加到gitee设置中ssh配置即可

Git基础命令+Gitee代码托管平台学习_第21张图片

 Git基础命令+Gitee代码托管平台学习_第22张图片

                 8.3 使用sshclone下载方式

                       在gitee项目clone下载出复制ssh的链接,使用以下命令:

  •                         git clone [email protected]:xsama/remote_and_local.git

                        每当我们第一次连接服务器时候,就会出现Are you sure you want to continue connecting (yes/no)提示,输入yes即可

Git基础命令+Gitee代码托管平台学习_第23张图片

         9、如何将本地的项目推送到远端呢?或者说与远端仓库连接起来呢?以下介绍最方便的一种

                9.1 在本地新建一个项目local_test

                9.2在远端新建一个仓库remote_test

                9.3将远端的仓库拉取到桌面or其他文件夹下

                9.4将远端拉取的数据全部复制到本地新建的项目local_test下

                9.5在local_test目录可以可以正常操作提交和push,push后远端的remote_test仓库同步更新

                原理:远端拉取到桌面的文件夹,已经指向了远端仓库,直接复制到某项目下,就可以认为当前项目都指向了远端仓库

                        Git基础命令+Gitee代码托管平台学习_第24张图片

Git基础命令+Gitee代码托管平台学习_第25张图片

 Git基础命令+Gitee代码托管平台学习_第26张图片

 Git基础命令+Gitee代码托管平台学习_第27张图片

 Git基础命令+Gitee代码托管平台学习_第28张图片

                         这个时候我们发现,就有可以提交的数据了,就是local项目的数据

                                add----commit----push一条龙
Git基础命令+Gitee代码托管平台学习_第29张图片

Git基础命令+Gitee代码托管平台学习_第30张图片

         10、使用pycharme集成的git进行推送代码文件

                 使用pycharme打开上一步的local_test文件夹,发现在IDE里面与往常不一样,有几个git的快捷键,同时我们右键文件的时候可以看到有git的选项,新增文件的时候会提示是否要加入到git,也就是add .到暂存

Git基础命令+Gitee代码托管平台学习_第31张图片

 Git基础命令+Gitee代码托管平台学习_第32张图片

                 我们新增一个文件file2.py,根据提示add到暂存区,然后右键文件选择git-commit-填写推送message(可以用右上角的commit 是一样的效果)

Git基础命令+Gitee代码托管平台学习_第33张图片

Git基础命令+Gitee代码托管平台学习_第34张图片

                 返回项目,选择文件git-push

Git基础命令+Gitee代码托管平台学习_第35张图片

                 回到远端的仓库,查看是否被推送到了远程仓库remote_test

Git基础命令+Gitee代码托管平台学习_第36张图片

                 可以打开git-history 在底部看到提交历史

Git基础命令+Gitee代码托管平台学习_第37张图片

                 当push的时候提示如下,是因为远程repository和本地的repository冲突导致的,在多人协同机制下,远程库的代码可能已经被其他程序员更新,而你的本地库还停留在未更新前前的状态,这种情况下的push会被远程库拒绝。

Git基础命令+Gitee代码托管平台学习_第38张图片

        merge是合并,如果远程有的你没有,则拉下来把你的推上去,如果你的和远程的改的是一个文件,则需要选择保留哪一个(一般来说push之前先pull新的代码下来,防止出现merge的情况)

Git基础命令+Gitee代码托管平台学习_第39张图片

         11、关于分支的一些操作

                11.1什么时候需要分支

                        当多个版本协同开发的时候,比如11月要上一个版本,那么通常不会在主分支master上进行操作,因为master是一个相对稳定的分支,类似一个稳定的产品库,是经过测试后进行合并,多个分支相当于克隆了master的多套代码进行平行开发,分支互相不影响,当分支经过测试后可以和master进行合并(merge)。

                        分支分为远端分支和本地分支,当我们拉取远端的一个项目时,会同时把远端的所有分支都拉下来,我们可以直接在远端的分支上进行开发。当然也可以自己在本地创建分支然后推送到远端。

  •                         git branch -b 分支name  #新增本地分支并切换分支
  •                         git branch -a   #查看全部分支(红色是远端的分支)

Git基础命令+Gitee代码托管平台学习_第40张图片

                11.2pycharme推送分支数据

                        本地新增lo_new 分支。

                        pycharme进行数据提交,刷新就已经默认选中了lo_new分支。

                        当push的时候会提交当前分支到远端(pycharme会自动提交远端未有分支)。

Git基础命令+Gitee代码托管平台学习_第41张图片

Git基础命令+Gitee代码托管平台学习_第42张图片

                        11.3 bash命令行推送远端未有分支数据    

  •                         git push origin 分支名字

                        如果远端新增了一个分支,则只需要pull,则可以拉下远端新的分支

  •                         git pull

                            Git基础命令+Gitee代码托管平台学习_第43张图片

                12、合并分支数据

                        当某一个分支新增修改数据后,我们是希望在测试后能够合并到稳定的master主分支,则这时候只需要切换到master,执行以下命令

  •                         git merge 需要合并的分支

Git基础命令+Gitee代码托管平台学习_第44张图片

你可能感兴趣的:(环境搭建,git,gitee,学习)