Git的使用

207 阅读2分钟

一. 了解git是什么

  • Git是目前世界上最先进的分布式版本控制系统

工作原理 / 流程:

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

二. 下载git

附上地址:git-scm.com/book/zh/v2/

点击进入,选择对应电脑系统下载就ok了

下载安装完成后,鼠标右击会多出两个选项,如下:

git安装完成后好像是会弹出一个窗口的,隔得时间比较长有点忘记了,不过问题不大。

三. 全局配置参数

全局配置参数 git config --global

$ git config --global user.name "你的用户名"
$ git config --global user.email "你的邮箱"

注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

四. 日常使用

查看分支

$ git branch     # 查看所有本地分支
$ git branch -a  # 查看所有分支(本地 + 远程)
$ git branch -r  # 查看所有远程分支

拉取代码

$ git clone 需要拉取的地址

创建分支 & 切换分支

$ git branch <newbranch>                      # 新建分支,并留在当前分支
$ git checkout <oldbranch>                    # 切换分支(分支需存在)
$ git checkout -b <newbranch>                 # 新建分支,并切换到新分支
$ git fetch origin <branchname>:<branchname>  # 从远程分支拉取至本地

合并分支

$ git merge <branchname>	# 合并某分支到当前分支

# 将dev分支的代码合并到master
$ git checkout master
$ git pull
$ git merge dev
$ git push origin master

删除分支

$ git branch -d <branchname>              # 删除本地分支(需切出)
$ git push origin --delete <branchname>   # 删除远程分支

git 版本回退(已经push上去的)

$ git pull     # 先确保本地内容和线上分支最新内容一致

$ git reset --hard 7984e003    # git reset --hard commit_id(hash值) 此时本地内容已经和提交一致

$ git push -f

ps: 把本地内容提交到远程仓库,-f有风险,提交需谨慎

git 显示合并中,终止操作(如 master | mergin)

$ git reset --hard   # 可以退出

git 查看历史提交版本

$ git log                      # 查看历史所有版本信息
$ git log -x                   # 查看最新的x个版本信息
$ git log -x                   # filename查看某个文件filename最新的x个版本信息(需要进入该文件所在目录)
$ git log --pretty=oneline     # 查看历史所有版本信息,只包含版本号和记录描述

回滚版本(commit)

$ git reset --hard HEAD^         回滚到上个版本
$ git reset --hard HEAD^~2,     回滚到前两个版本
$ git reset --hard xxx(版本号或版本号前几位),回滚到指定版本号,如果是版本号前几位,git会自动寻找匹配的版本号
$ git reset --hard xxx(版本号或版本号前几位) filename,回滚某个文件到指定版本号(需要进入该文件所在目录)

五. 常用操作总结

$ git branch -a            # 查看所有分支(本地 + 远程)
$ git branch <newbranch>   # 新建分支,并留在当前分支
$ git checkout <oldbranch> # 切换分支(分支需存在)
$ git fetch origin <branchname>:<branchname>  # 从远程分支拉取至本地
$ git push --set-upstream origin <branchname> # 推送当前分支并建立与远程上游的跟踪
$ git merge <branchname>   # 合并某分支到当前分支
$ git branch -d <branchname>            # 删除本地分支(需切出)
$ git push origin --delete <branchname> # 删除远程分支

六. 工作中的日常流程

$ git clone xxx                # 复制代码到本地
$ git branch -a                # 查看所有分支
$ git checkout xxx             # 切换到xxx分支,进行开发!!!!!!注意一定要在自己的分支里开发
$ git add .                    # 提交所有到 暂存区
$ git commit -m '你的注释'      # 提交暂存区的代码到 仓库
$ git push                     # 提交代码到 远程仓库

有些时候,多人开发。要注意其他同事是否有提交代码。最好执行git pull更新最新代码到本地

$ git pull     # 更新最新代码到本地,避免出现代码冲突

首次次提交需要设置git push的那个源祖

$ git push origin xxx