git使用手册

79 阅读4分钟

git的使用

git是一个工具,用于管理代码版本的工具。

解决的问题:

  • 开发版本

    • 功能A ===> v1.0
    • 功能A + B ===> v2.0
    • 功能C ===> v3.0
    • 功能A + C ===> v4.0
  • 代码合并

  • 。。。

仓库:被git工具管理的文件夹

  • 本地仓库:本地计算机硬盘上的文件夹被git管理

    1. 将文件夹变成仓库

      git init
      

      被存储的代码分为3个状态:

      工作区

      暂存区

      历史/版本区

    2. 查看仓库状态

      git status
      
    3. 将工作区的代码放在暂存区

      git add .
      git add 文件名称或文件夹名称
      
    4. 将暂存区代码拿回工作区

      git reset .
      git reset 文件名称或文件夹名称
      
    5. 将暂存区代码放在历史/版本区

      git commit -m "版本描述"
      

      将暂存区内容全部放在历史区

    6. 查看所有的分支

      git branch
      
    7. 创建分支

      git branch 新的分支名称
      

      创建分支的时候,默认会将master分支的代码给新的分支上复制一份

    8. 切换当前分支

      git checkout 分支名
      
    9. 创建并切换到新分支

      git checkout -b 新的分支名
      
    10. 合并分支

      git merge 被合并的分支
      
    11. 删除分支

      git branch -D 分支名
      
    12. 查看所有版本

      git log
      
    13. 切换版本

      git reset --hard HEAD^ # 切换到上一个版本,^1个表示回退1个版本;2个^表示回退两个版本
      git reset --hard 版本号 # 切换到指定的版本,版本号只要用前7位就ok
      

      找版本号,可以从.git隐藏文件夹中,找到:.git/logs/HEAD

    14. 设置提交的用户名和邮箱

      git config --global user.name '用户名'
      git config --global user.email '邮箱'
      
  • 远程仓库:远程服务器上文件夹被git管理

    借助github/gitee/gitlab服务器

    github:由微软收购的,服务器在国外,不方便访问。个人仓库免费的,默认是私有的;企业仓库都是私有的,仓库安全机制由github提供。

    gitee:由国内开发的,服务器在国内,方便访问。个人仓库是免费的;企业仓库是私有的,仓库的安全机制由gitee提供。

    gitlab:由乌克兰的一个程序员开发的,服务器在国外,但是国内有cdn加速,国内打开也方便;企业版没有提供,需要我们手动创建,所有的安全机制由自己把控。

    • 创建远程仓库选择初始化

      1. 将远程仓库克隆到本地

        git clone 仓库地址
        git clone 仓库地址 自定义文件夹名称
        
      2. 将本地仓库内容推送到远程

        git push
        
    • 创建仓库不选择初始化

      1. 在本地创建文件

      2. 初始化成仓库

      3. 在本地仓库中最少有一个版本

      4. 跟远程仓库建立连接

        git remote add 变量名 远程仓库地址
        
      5. 推送到远程

        git push -u 变量名 master
        
      6. 后续推送到远程

        git push
        
  • 冲突解决

    冲突的原因:远程仓库每个版本的形成,都必须基于上一个版本形成的,不可以从版本1直接生成版本3

    解决原理:先将远程仓库代码跟本地仓库同步一份,远程版本是多少,先在本地形成多少,在原本的基础上再次推动形成新的版本。

    git pull # 将远程仓库的内容同步到本地一份
    git push
    

    执行git pull的时候,命令行窗口中会打开一个文件,我们需要通过:q命令将文件关闭。

  • 跨分支操作

    先将master克隆到本地,在本地创建跟远程分支名相同的分支,在新的分支上进行开发,推送。。。第一次推送远程,需要使用:

    git push --set-upstream origin 分支名
    

    后续推送:

    git push
    

    也可以直接克隆远程指定的分支:

    git clone -b 指定的分支名 仓库地址
    

    给本地同步远程指定的分支代码:

    git pull 仓库地址 分支名
    

    通常是在本地创建一个跟远程相同名字的分支名进行操作。

文件操作:

git工具默认提供了两个特殊文件:

  • .gitignore:用来设置黑名单。将黑名单文件的路径放在当前文件中即可。
  • .gitkeep:git是不会管理空文件夹的,如果希望空文件夹被管理,git规定必须在空文件夹中新建.gitkeep文件。

ssh提交:

创建公钥秘钥:

检测当前计算机是否有公钥和秘钥:如果没有C:\Users\Admin.ssh这个文件夹或者文件夹中只有known_hosts文件,表示我们没有公钥和秘钥。

ssh-keygen -t rsa -C "自己的邮箱"

<<<<<<< HEAD 公钥需要设置在自己账号的公钥管理中。

有了公钥和秘钥后,我们就可以使用仓库的ssh链接进行推送了。

=======

c4176e6375bf060e98beb5d9d5d2df2567aca226