概述

GIT是一个开源的分布式的版本控制系统,是由Linus 为了管理Linux内核开发而开发的一个开源的版本控制软件。相比SVN,它采用分布式版本库方式。

工作区,暂存区和版本库

Git最佳实践:基本操作和分支管理_分支管理

左侧为工作区,编辑文件所在的目录,右侧为版本库,其中index区域是暂存区,标记为"master"代表master主分支。

基本操作指令

1.创建仓库

a.当前目录创建仓库

        git init

b.指定目录创建仓库   

        git init 目录名

2.设置配置

a.全局配置

        git config --global user.name woniu
        git config --global user.email woniu@163.com

b.设置本地仓库配置

        git config --local user.name woniu
        git config --local user.email woniu@163.com

c.查看配置信息

        git config --global --list

3.工作区文件新增到暂存区

a.提交指定文件

     git add a.cpp

b.提交当前目录所有文件

     git add .

c.把提交过暂存区,已经发生改变的文件再次提交到暂存区

     git add -u

4.暂存区文件提交到版本库

       git commit -m "初始版本"

5.查看git提交日志

a.全部日志

        git log

b.简化日志

        git log --oneline

c.查看前5个日志

        git log -n5 --oneline

d.查看所有日志

        git log --all

e.图像化查看所有日志

        git log --all --graph

f.图形化界面查看

        gitk

6.查看上次提交后是否有修改

     git status

7.查看差异

a.查看工作区与暂存区差异

        git diff

b.查看暂存区与仓库之间的差异

     git diff --cached

c.比较不同commit的差异

        git diff HEAD1 HEAD2

8.清空暂存区,工作区修改

       git reset --hard

9. 删除工作区和暂存区文件

       git rm 文件名

10.重命名文件

        git mv a.cpp b.cpp

11.版本回滚

a.恢复暂存区和HEAD一致

     git reset HEAD

b.恢复暂存区指定文件与HEAD一致

     git reset HEAD -- 文件名

c.恢复工作区与暂存区一致

     git checkout -- 文件名

d.回退到指定commit,会清楚之后提交的commit

     git reset --hard HEAD



分支管理

1.创建分支

    a.直接创建
        git branch dev(分支名)
    b.基于某个历史版本创建分支
        git branch dev HEAD

2.查看分支

    git branch -av

3.删除分支

    git branch -d dev(分支名)

4.切换分支

    git checkout dev

5.查看分支差异

    a.查看分支差异
        git diff dev master
    b.查看分支指定文件差异
        git diff dev master -- index

6.本地仓库推送到远端仓库

    a.Git代码托管平台创建仓库
        http地址:https://gitee.com/woniu/git-test.git
    b.本地仓库与远端仓库关联
        git remote add origin https://gitee.com/woniu/git-test.git
    c.如果远端仓库是空的
        git push -u origin master
      一般远端仓库都会有readme文件,解决方案
        git pull --rebase origin master
    d.提交到远程仓库
        git push origin master

7.拉取远程分支

    a.拉取远程分支,默认拉取主分支
        git clone https://gitee.com/woniu/git-test.git
    b.拉取远程指定分支
        git clone -b dev https://gitee.com/woniu/git-test.git
    c.拉取主分支后,基于远端指定分支本次创建新分支
        git branch -av   红色部分代表远端分支
        git branch dev origin/dev  基于远端的dev分支本次创建dev分支


总结

        Git已经成为目前最流行的版本控制工具,一些大公司逐渐从SVN过度到Git,熟练使用Git成为了程序员的必备技能,本篇文章几乎覆盖了常用操作指令,希望对大家有帮助。

-END-