• 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即可

          

  • 相关阅读:
    数据挖掘实践(23):实战-- 建筑能源得分预测报告(一)
    返回闭包
    函数指针
    Rust 中的 Closure
    Moves, copies and clones in Rust
    Rust的闭包类型(Fn, FnMut, FnOne的区别)
    Clone VS Copy
    rust socket
    A simple UNIX socket listener in Rust
    【firecracker】系统启动与epoll事件循环
  • 原文地址:https://www.cnblogs.com/wangheng669/p/8243584.html
Copyright © 2020-2023  润新知