zoukankan      html  css  js  c++  java
  • Git的用法

    git分布式版本控制系统

      1. git的意义

                        在开发过程中可以进行阶段是我呢见保存,便于在有时候开发时,代码出现bug,无法修复时,可以恢复到前一个版本重新这一阶段的开发

      2. git下载

                        官网:https://git-scm.com/

                        下载地址:https://git-scm.com/downloads

                        下载后自行安装,自己选择安装路径,其余项目默认即可

      3. 初始化的一些设置

                        1. 打开控制台CMD, 或者在启动目录中打开

                        2. 若是CMD需要输入:git 指令,进入git工作环境

                        3. 输入初始化信息

                            #如下信息会在每次提交代码时使用,记录砸你的每次要提交中,以后才知道那次提交是谁做的,通过"git log"指令可以进行查看

                            执行:

                                git config --global uer.name "your name"        # 用户名

                                git config --global uer.email "your email"      # 邮箱

                        注:没有消息就是好消息,有消息说明出错了

                        4. 查看信息

                            获取账户信息

                                git config -l

                            查看git版本

                                git --version

                            

      4. git的框架

                            -工作区-    ---------版本库------

                             工作区 --> 暂存区 --> master分支

                        版本库:

                                1. 版本库是工作区中有一个隐藏目录.git,这个目录不属于工作区,而是git的版本库,是git管理的所有内容

                                2. 版本库由两部分组成:暂存区和分支

                            暂存区:版本库中包含一个临时区域,保存下一步要提交的文件,我呢见一旦提交,暂存区就会被清空

                            分支:版本库中包含若干份之,提交的文件存储在分支中

      5. git操作文件流程

                        1. 所谓仓库,实际就是本地一个工作目录,这个目录种的而所有文件会被git管理起来,仓库中的每个文件的而改动,都由git跟踪。

                                    这个目录包含工作区和版本库的内容

                        2. 进入到想要创建仓库的目录

                        3. 初始化仓库

                                git init

                            // 执行后会在当前目录创建一个.git文件夹,这里面就包含版本库的所有配置文件

                        4. 有关仓库的一些指令

                            1. 查看当前工作区的状态

                                git status

                            2. 将文件从工作区添加到暂存区
                                git add .       // 将工作区所有文件都提交到暂存区
                            3. 将文件从暂存区提交到分支中
                                git commit -m "提交的相关会说明"
                            4. 从缓存区恢复文件到工作区
                                git checkout 文件名
                            5. 查看工作区和缓存区版本的区别
                                git diff
                            6. 恢复文件到一定的版本
                                git reset --hard HEAD^      退回到上一个版本
                                git reset --hard HEAD^^     退回两个版本
                                git reset --hard 版本号      退回到指定的版本
                            7. 查看已经提交的历史版本
                                git log
                            8. 清屏操作
                                cls
                            

                            9. 下载别人提交的内容

                                指令:

                                    git clone 仓库中A同学所提交的文件所在地址的URL

                                获取A同学文件URL的方法:

                                    远程github账号 => 找到所提交的文件位置 => Code => 拷贝URL即可

                            10. 当自己的代码落后于远程仓库时,需要将远程仓库中的内容更新到本地目录中

                                    指令:

                                        git pull

                                    实现把远程仓库的代码更新到本地(即实现同步)

                        

      5. git中的相关术语

                            1. Untracked files(文件未被跟踪)

                                即该文件刚被创建,还没有进行任何git操作

                            2. Changes to be committed(要提交的更该)

                                文件已经被提交到缓存区,还没有被提交分支中

                            3. nothing to commit, working tree clean(没有文件需要提交,工作区干净)

                                即暂存区为空,工作区没有需要提交的文件

      6. 远程仓库

                        1. 远程仓库存在的意义:

                            前面所说的仓库是指本地仓库,当多人合作开发时,每个人都会在自己的本地仓库维护版本

                            但是当多人合同开发时,需要共享代码,这就需要一个远程仓库

                        2. 远程仓库就是远程服务器上的一个工作目录

                        3. 远程仓库选型

                            远程仓库有很多可以选择,如GitHub(tttpe://github.com/),码云(https://gitee.com/)

      7. 数据提交     暂存区 => github远程仓库

                        在数据提交之前,需要github对本电脑授权,即要先生成ssh密匙

                        1. 获取ssh密匙指令:

                            ssh-keygen -t rsa -C "你的github的邮箱"

                        2. 查找生成的密匙(window操作系统下):

                            我的电脑 => 用户 => 用户名文件夹 => .ssh文件夹(隐藏文件) => id_rsa.pub(存有密匙)

                            直接拖动文件到vscode显示区即可打开

                        3. 在github账户去配置密匙

                                github => setting => SSH and GPG keys => New SSH key

                            将密匙复制到相应区域,并取名

                        4. 暂存区 => github远程仓库 提交

                            确定提交地址:

                                    git remote add origin 远程仓库地址(在github上复制即可)

                                如:

                                    git remote add origin https://github.com/Carrey1014/testDemo.git

                            确定提交:

                                    git push -u  origin master

                            【注】提交过程可能需要填写用户名和密码

                            首次提交需要上述的繁琐步骤

                            再次提交后只需:

                                    git add 文件名      提交指定文件

                                    git commit  -m "此次提交的描述" 

                                    git push 

                                三步即可(可能需要输入密码)

      8. 某B同学来了,需要接着A同学的工作继续进行

                        则需要先从github远程仓库将A同学提交的数据下载到本地

                            1. 打开git CMD控制台

                            2. 在控制台定位到B同学的工作目录下

                            3. 下载A同学提交的内容

                                指令:

                                    git clone 仓库中A同学所提交的文件所在地址的URL

                                获取A同学文件URL的方法                                远程github账号 => 找到所提交的文件位置 => Code => 拷贝URL即可

    9. A,B两个同学可能交替着进行同一个工作,B同学接着A同学的项目进行之后,远程仓库的内容会被更新 

                        此时,A同学本地的文件会落后于远程仓库,故A同学在接着进行工作之前,需要将本地文件进行更新

                            指令:

                                git pull

                            实现把远程仓库的代码更新到本地(即实现同步)

  • 相关阅读:
    获奖2008年金蝶集团优秀员工感言
    对如何建设一个可运维高可靠的SAAS平台,我终于有了想法!!!
    javaeye站点被ARP攻击有感
    回想过去几年软件业的荒唐事
    也说一种普遍错误使用的LOG方式
    看看国外的本科生能做什么?(Robert Love)
    zz乱码、编码问题详
    查找linux内核支持的usb摄像头列表(UVC万能驱动)
    Greg KroahHartman LDD3 作者,LKN作者,linux driver 开发者,新闻两则,因为过时了所以就放我这个垃圾博客里吧
    zz QEMU 与 Bochs
  • 原文地址:https://www.cnblogs.com/carreyBlog/p/13667797.html
Copyright © 2011-2022 走看看