git的基本操作

之前简单学习过git,目前处于复习阶段之后发现忘了不少,在此做下总结

  1.Git的安装

     windows下直接去官网下载即可

     linux centos 使用yum install git安装

  2.Git的配置

    使用git config 命令配置用户信息等

      

    查看配置信息 git config --list

   3.Git的工作流程 

    一般工作流程如下:

      克隆 Git 资源作为工作目录。

      在克隆的资源上添加或修改文件。

      如果其他人修改了,你可以更新资源。

      在提交前查看修改。

      提交修改。

      在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

  4.Git 工作区、暂存区和版本库

    工作区:电脑中可以看到的目录

    暂存区:存放在隐藏文件下的.git目录下的index文件

    版本库:.git目录

   5.Git创建仓库

    git init 初始化仓库 在这之前还是建议你先去github建立一个资源库

     git clone 获取某仓库的资源

        

       git add 将文件添加到缓存

       git status 查看上次提交是否有修改

        

        AM 表示已缓存的文件又经过了修改

     git diff 查看执行 git status 的结果的详细信息

         比如我们修改了一个文件,但是这个更新的文件并没有加入缓存区,使用该命令就会看到修改的内容

        

       --cached 查看已缓存的改动,你提交缓存的文件中的改动

        

      --stat 显示改动的摘要,而不显示详细信息

        

     git commit 将缓存区添加到仓库

        -m '参数' 提交时加入信息

        -a 出来一个编辑器,书写信息

     git reset HEAD 提交到缓存区取消提交

        注意:reset和checkout的功能类似,但是有区别,具体区别以后再说

     git rm 移除某个文件

       -f 如果该文件已经在暂存区,那么要使用强制删除

        --cached 保留当前目录文件

        -r  删除目录中的文件和子文件

     git mv 移动文件

        这个和mv是有区别的,通过git mv 移动,暂存区的名称也会改变

  Git 分支管理

    作用:在不影响主线的情况下继续开发

    git branch <name> 创建分支

      当你使用git init的时候会默认创建master分支

      在修改另一个分支时并不会影响到其他分支

      -d 删除分支,如果没有合并要是用-D删除

    git checkout <name> 切换分支

      -b 创建分支后直接切换

      当切换分支时会将分支最后提交的文件替换该目录下的文件

    git merge 合并分支

      当在新的分支创建文件后可以合并到主分支,具体操作还没搞懂

    git pull 取回分支更新

      两个用户同时上传了相同文件会发生冲突,发生冲突后需要使用git pull将远程的文件抓下来修改完毕后再提交上去

    合并冲突

      这个合并是重点,待会解决

    使用git reset -hard HEAD^^可以回滚

  Git 查看提交历史

          

      --oneline 更简洁的版本信息

      

     --graph 查看历史出现的分支,合并等

      

    --reverse 倒序查看

      

    --author 查找指定用户

      

    --since --after 等指定

  Git 标签

    git tag -a 添加提交版本信息

      比如 v1.0等,添加上版本信息会出现编辑器,可以填写

    git log --decorate 查看版本信息

    git tag 查看所有标签

    git tag -a v0.9 提交信息 追加提交版本号

    git tag -a v0.9 -m "" 指定标签命令

  Git 远程仓库(Github) 通过远程仓库可以将项目分享给其他人

   在学习命令之前,需要先配置远程仓库

      1.$ ssh-keygen -t rsa -C "2658803113@qq.com" 在本地生成一个钥匙

      2.添加至github远程仓库

    git remote add git@github.com:wangheng669/shop.git

      提交本地数据至远程仓库 这里有可能遇到版本冲突的问题使用-f 强制提交

    git remote 查看远程仓库

      -v 查看别名的实际链接地址

        

    git fetch 提取远程仓库

    git merge 合并分支

        这俩没看懂,待会再看

    git remote rm <name> 删除远程仓库

  Git 服务器搭建

    1.安装git及依赖

      $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

      $ yum install git

    2.创建git用户组和用户

      groupadd git

      useradd git -g git

    3.创建证书登录

      cd /home/git/
      mkdir .ssh
      chmod 700 .ssh
      touch .ssh/authorized_keys
      chmod 600 .ssh/authorized_keys

    4.初始化Git仓库

      cd /home
      mkdir gitrepo
      chown git:git gitrepo/
      cd gitrepo
      git init --bare runoob.git
      chown -R git:git runoob.git

    5.克隆仓库

      git clone git@192.168.45.4:/home/gitrepo/runoob.git

      密码不对可以重新设置密码

    6.禁止登陆

      作为一个服务器是不让别人登录的

      打开etc/passwd

      修改git用户的nologin即可

      

原文地址:https://www.cnblogs.com/wangheng669/p/8243584.html