Git常用命令--本地仓库、远程仓库、分支

环境配置

  • 设置/重设用户信息

    git config --global user.name “xxx”
    git config --global user.email “xxxx@xxxxxx”
    
  • 查看配置信息

    git config --list
    git config --user.name
    
  • 以上命令设置的信息通常会默认保存在C:\Users\xxx\.gitconfig文件中

    [user]
    	email = xxxx@xxxxxx
    	name = xxx
    [gui]
    	encoding = utf-8
    

获取Git仓库

  • 本地初始化一个Git仓库

    进入你希望创建Git仓库的所在文件夹,在Git Bash中执行git init命令
    在这里插入图片描述
    文件夹中出现一个.git隐藏文件,即为初始化成功,只不过该仓库还未与远程服务器建立关联
    在这里插入图片描述

  • 几个概念

    版本库:前面看到的.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等

    工作目录(工作区):包含.git文件夹的目录就是工作目录,主要用于存放开发的代码

    暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

  • 从远程仓库克隆

    git clone 远程Git仓库地址
    

    在这里插入图片描述

本地仓库操作

  • 文件有两种状态:

    1. untracked 未跟踪(未被纳入版本控制)
    2. tracked 已跟踪(被纳入版本控制)
      • Unmodified 未修改状态
      • Modified 已修改状态
      • Staged 已暂存状态
  • 查看文件状态

    git status
    git status -s  # 使输出信息简洁
    

    在这里插入图片描述
    hello.txt未被纳入版本控制,README.md未暂存起来,只是在本地做了修改

  • 将文件加入暂存区

    git add 文件名
    

在这里插入图片描述

  • 将暂存区文件取消暂存

    git reset 文件名
    

在这里插入图片描述

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

    git commit -m "提交的信息描述" 文件名
    

在这里插入图片描述

也可以直接写git commit,会进入Vim编辑器让我们填写提交信息
在这里插入图片描述

在这里插入图片描述

  • Vim操作三步

    1. i:进入编辑模式
    2. Esc:退出编辑模式
    3. :wq:保存内容并退出Vim
  • 删除文件

    git rm 文件名
    

在这里插入图片描述

但这样删除的只是工作区的文件,还需提交才是真正在本地仓库删除
在这里插入图片描述

  • 查看日志记录

    git log
    
  • 将文件添加至忽略列表

    首先要创建一个.gitignore文件,可在Git Bash中使用touch .gitignore来创建

    *是通配符,表示任意字符

    # 忽略 *.bak文件
    *.bak
    
    # 忽略 c/c++ 编译后的文件
    *.obj
    
    # 忽略 Java编译后的文件
    *.class
    
    # 忽略 word创建的临时文件
    ~*.doc
    ~*.docx
    
    # 忽略debug目录下的所有文件
    debug/
    
    # 忽略doc目录下所有 .pdf文件
    doc/**/*.pdf
    

远程仓库操作

  • 查看远程仓库
    git remote
    git remote -v
    git remote show origin
    
    如果已经克隆了远程仓库,至少能看到origin,这是Git克隆的仓库服务器的默认名字

在这里插入图片描述

  • 添加远程仓库
    在本地初始化一个仓库后,还未与远程仓库发生关联,这时便可添加一个远程仓库进行关联
    git remote add 仓库名 仓库地址
    
    在这里插入图片描述
  • 移除远程仓库
    git remote rm 仓库名
    
    该命令只是从本地移除远程仓库的记录,即解除关联,不会影响到真正的远程仓库
    在这里插入图片描述
  • 从远程仓库中fetch
    git fetch 是从远程仓库中获取最新版本到本地仓库,不会自动merge
    在这里插入图片描述
    在这里插入图片描述
  • 从远程仓库中pull
    git pull是从远程仓库获取最新版本并自动merge到本地仓库
    在这里插入图片描述

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

  • 推送到远程仓库
    git push [remote-name] [branch-name]
    
    在这里插入图片描述
    这时会跳出一个要求填写远程服务器账号密码的窗口
    在这里插入图片描述
    提交成功
    在这里插入图片描述

Git分支

  • 查看分支
    在这里插入图片描述

  • 创建分支及切换分支
    在这里插入图片描述

  • 推送分支至远程仓库分支
    在这里插入图片描述

  • 合并分支
    将b1分支合并到master分支
    在这里插入图片描述
    当在b1分支和master分支同时修改内容,再将b1分支合并到master分支,会出现分支冲突

    在这里插入图片描述
    这时Git会将冲突部分的内容让我们手动修改
    在这里插入图片描述
    再用git add标识冲突已经解决,重新commit
    在这里插入图片描述

  • 删除分支

    git branch -d b1
    git push origin -d branchName #删除远程仓库的分支
    

    如果在要删除的分支做了一些开发动作而未push或者merge到其他分支,则执行删除命令不会删除该分支,若坚持删除,把-d改为-D

猜你喜欢

转载自blog.csdn.net/weixin_44863537/article/details/109161380