zoukankan      html  css  js  c++  java
  • git常用命令和基本使用

    git常用命令和基本使用

    1、环境配置

    git所有的配置其实都保存在本地配置文件

    • 编辑Git配置文件

      $ git config -e [--global]
      
    • 查看配置

      git config -l
      
    • 查看不同级别的配置

      # 查看系统config
      git config --system --list
      
      # 查看当前用户config
      git config --global  --list
      
    • 设置用户名和邮箱

      • 用户名
      git config --global user.name "kuangshen"
      
      • 邮箱
      git config --global user.email 24736743@qq.com
      

    只需要做一次这个设置,如果你传递了--global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要--global选项。总之--global为全局配置,不加为某个项目的特定配置。

    2、项目配置

    • 本地仓库搭建

      • 创建全新的仓库,需要在GIT管理的项目的根目录执行

         # 在当前目录新建一个Git代码库
         git init
         # 执行后可以看到,仅仅在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面。 
        
      • 克隆远程仓库

        # 克隆一个项目和它的整个代码历史(版本信息)
         git clone [url]
        

    3、文件命令

    • 添加当前目录的所有文件到暂存区

      git add hello.txt # 指定文件
      git add . # 所有文件
      
    • 查看指定文件状态

      git status hello.txt
      
    • 查看所有文件状态

      git status # 详细格式
      git status -s # 简约格式
      
    • 将暂存区文件取消暂存

       git reset . # 取消所有
       git reset hello.txt # 取消指定文件
      
    • 删除文件

      git rm hello.txt # 删除工作区文件
      git commit -m "delete hello.txt" # 提交之后,便删除了暂存区的文件
      

    4、分支命令

    # 列出所有本地分支
    git branch
    
    # 列出所有远程分支
    git branch -r
    
    # 新建一个分支,但依然停留在当前分支
    git branch [branch-name]
    
    # 新建一个分支,并切换到该分支
    git checkout -b [branch]
    
    # 切换分支
    git checkout [branch-name]
    
    # 合并指定分支到当前分支,有时候合并操作不会如此顺利。 如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没办法合并它们,同时会提示文件冲突。此时需要我们打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决
    $ git merge [branch]
    
    # 推送至远程分支
    git push origin b1 # origin:仓库名,b1:分支名
    
    # 删除分支,如果要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,如果坚持要删除此分支,可以将命令中的-d参数改为-D,如果要删除远程仓库中的分支,可以使用命令git push origin –d branchName
    $ git branch -d [branch-name]
    
    # 删除远程分支
    $ git push origin --delete [branch-name]
    $ git branch -dr [remote/branch]
    

    5、代码提交

    • 提交暂存区文件到本地仓库区

      git commit -m "hello git" # 引号内是自定义备注信息
      

    6、查看日志

    git log
    

    7、远程仓库

    • 查看已经配置的远程仓库服务器

      如果想查看已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出指定的每一个远程服务器的简写。 如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字

      git remote
      
    • 添加远程仓库

      git remote add my_project https://gitee.com/y-wee/my_project.git # my_project为仓库名,后面跟的是仓库地址
      
    • 移除远程仓库

      git remote rm my_project # my_project为仓库名
      

      注意:此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库

    • 抓取远程仓库

      git fetch my_project # git fetch 是从远程仓库获取最新版本到本地仓库,不会自动合并
      git merge my_project/master # 手动合并
      
    • 拉取远程仓库

       git pull my_project master # 从远程仓库获取最新版本并merge到本地仓库
      

      注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal:refusing to merge unrelated histories ),解决此问题可以在git pull命令最后加入参数--allow-unrelated-histories

    • 推送到远程仓库

      git push my_project master # my_project为仓库名,master为分支名
      

    8、忽略文件

    有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等在主目录下建立".gitignore"文件,此文件有如下规则

    • 忽略文件中的空行或以井号(#)开始的行将会被忽略。
    • 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
    • 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
    • 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
    • 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
    *.txt        #忽略所有.txt结尾的文件,这样的话上传就不会被选中!
    !lib.txt     #但lib.txt除外
    /temp        #仅忽略项目根目录下的TODO文件,不包括其它目录temp
    build/       #忽略build/目录下的所有文件
    doc/*.txt    #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    

    更多命令参考:https://gitee.com/all-about-git

    记得快乐
  • 相关阅读:
    centos8 将SSSD配置为使用LDAP并要求TLS身份验证
    Centos8 搭建 kafka2.8 .net5 简单使用kafka
    .net core 3.1 ActionFilter 拦截器 偶然 OnActionExecuting 中HttpContext.Session.Id 为空字符串 的问题
    Springboot根据不同环境加载对应的配置
    VMware Workstation12 安装 Centos8.3
    .net core json配置文件小结
    springboot mybatisplus createtime和updatetime自动填充
    .net core autofac依赖注入简洁版
    .Net Core 使用 redis 存储 session
    .Net Core 接入 RocketMQ
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13859210.html
Copyright © 2011-2022 走看看