微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Git-Git基础

  一、版本控制

  1. 集中式版本控制与分布式版本控制。

  SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。

  Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

  2.Git工作流程

  

Workspace: 工作区,就是你平时存放项目代码可以看到的目录。

Index / Stage: 暂存区,英文叫 stage 或 index。用于临时存放你的改动,事实上它只是一个文件,一般存放在 .git 目录下的 index 文件(.git/index)中,保存即将提交到文件列表信息。

Repository: 工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。

Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换。

  1. clone(克隆): 从远程仓库中克隆代码到本地仓库。
  2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订。
  3. add(添加): 在提交前先将代码提交到暂存区。
  4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本。
  5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
  6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch + merge。
  7. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库 。

   二、Git安装与常用命令

  下载地址: https://git-scm.com/download

  1. 当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。

  设置用户信息:

git config --global user.name “xxx”
git config --global user.email “hello@xxx.cn” 

  查看用户信息:

git config --global user.name
git config --global user.email

  2.乱码问题解决

  打开GitBash执行下面代码

git config --global core.quotepath false

  ${git_home}/etc/bash.bashrc 文件最后加入下面两行代码

export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

  3.常用命令

   1、新建代码

# 在当前目录新建一个Git代码库
 git init
# 新建一个目录,将其初始化为Git代码库
git init [project-name]
# 下载一个项目和它的整个代码历史
git clone [url]

     2、查看文件状态

#查看指定文件状态
git status [filename]
#查看所有文件状态
git status

     3、工作区<-->暂存区

# 添加指定文件到暂存区
git add [file1] [file2] ...
# 添加指定目录到暂存区,包括子目录
git add [dir]
# 添加当前目录的所有文件到暂存区
git add .
#当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用(⚠️)
git rm file_path
#当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 这个时候直接push那边这个文件就没有,如果push之前重新add那么还是会有。
git rm --cached file_path
#直接加文件名   从暂存区将文件恢复到工作区,如果工作区已经有该文件,则会选择覆盖
#加了【分支名】 +文件名  则表示从分支名为所写的分支名中拉取文件 并覆盖工作区里的文件
git checkout

      4、工作区<-->资源库(版本库)

#将暂存区-->资源库(版本库)
git commit -m '该次提交说明'
#如果出现:将不必要的文件commit 或者 上次提交觉得是错的  或者 不想改变暂存区内容,只是想调整提交的信息
#移除不必要的添加到暂存区的文件
git reset HEAD 文件名
#去掉上一次的提交(会直接变成add之前状态)   
git reset HEAD^ 
#去掉上一次的提交(变成add之后,commit之前状态) 
git reset --soft  HEAD^ 

      5、远程操作

# 取回远程仓库的变化,并与本地分支合并
git pull
# 上传本地指定分支到远程仓库
git push

     6、其它常用命令

# 显示当前的Git配置
git config --list
# 编辑Git配置文件
git config -e [--global]
#初次commit之前,需要配置用户邮箱及用户名,使用以下命令:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
#调出Git的帮助文档
git --help
#查看某个具体命令的帮助文档
git +命令 --help
#查看git的版本
git --version



版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐