zoukankan      html  css  js  c++  java
  • Git简单使用教程

    Git被评价为全世界最先进的分布式版本控制系统,没有之一的那种。

    为什么这么说呢?看一下他官网下面那两排图标自然就懂了。

    本文主要以Windows平台来说明怎么使用Git。

    安装Git

    安装很简单,一路默认就好了,直接到在开始菜单里面看到Git Bash就说明安装成功了。给两个下载地址:官方下载国内镜像

    配置Git

    1、配置默认路径

    查看Git Bash的属性,“目标”删掉“--cd-to-home”,“起始位置”填入默认路径

    2、配置用户名和邮箱地址

    git config --global user.name "yourName"    --global参数表示全局
    git config --global user.email "yourEmail@example.com"

    基础概念

    Git和其他版本控制系统有些不同,他有一个暂存区的概念,这里我们先约定几个名词:

    1、工作区(Working Directory):就是指你的工程目录

    2、版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

    3、暂存区(Stage):存储在版本库内,工作区提交文件给暂存区,再从暂存区提交给版本库。

    4、远程库(Remote):一个存在远程机器上的版本库。目前比较好的远程库有Github、码云 

    基础指令

    如果不是多人协作项目,只是个人的版本控制,看完这一段的内容就够了

    在当前目录创建版本库

    git init

    将文件提交到暂存区

    git add <fileName>

    将暂存区内容提交到版本库

    git commit -m "version information"    -m参数表示版本信息

    查看版本状态

    git status

    查看版本库历史记录

    git log --pretty=oneline    --pretty=oneline参数表示一行显示

    选择版本,在Git里面,每一个版本都有一个唯一编号(commitId)

    git reset --hard HEAD^    退回到上一个版本
    git reset --hard HEAD^^    退回到上两个版本
    git reset --hard HEAD^10    退回到上十个版本
    git reset --hard <commitId>    跳转到任意版本

    查看操作历史记录

    git reflog

    比较文件的差异

    git diff HEAD -- <fileName>

    放弃工作区的修改

    git checkout -- <fileName>

    从版本库删除文件

    git rm <fileName>

    远程仓库

    Git的远程库的连接方式分为两种,一种是HTTP协议模式,这种模式每次连接都需要帐号和密码验证,并不是官方推荐的方式。另一种是GIT协议模式,这种模式需要将SSH公钥提交到远程库。

    下文以Github的GIT协议为例,说明如何连接远程库。

    1、本地生成SSH KEY

    ssh-keygen -t rsa -C "youremail@example.com"

    2、把生成出来的id_rsa.pub公钥填到Github的官网

        注1:SSH可以添加多个,如果你有多台电脑的话
        注2:Github的项目是公开的,如果要私有的话需要交费,国内的码云和Github类似,提供5人以下的私有项目。

    将本地库推送到远程库

    git remote add origin git@github.com:user/repo.git    origin为远程库默认名
    git push -u origin master    -u参数首次推送使用,可以将本地库和远程库关联起来    master为本地库默认名

    从远程库克隆到本地库

    git clone git@github.com:user/repo.git

    从远程库获取最新版本到本地库

    git pull

    查看远程库信息

    git remote -v

    删除远程库信息

    git remote rm origin

    分支

    分支是Git的难点,也是Git比其他版本控制强大的原因。

    查看分支

    git branch

    创建分支

    git branch <name>

    切换分支

    git checkout <name>

    创建并切换分支

    git checkout -b <name>

    合并某分支到当前分支

    git merge <name>

    删除分支

    git branch -d <name>

    查看分支合并图

    git log --graph

    保存工作现场

    git stash

    回到工作现场

    git stash pop

    放弃一个没有被合并过的分支

    git branch -D <name>    大写D是强行删除的意思

    推送分支

    git push origin <name>

    创建远程分支

    git checkout -b <name> origin/<name>

    建立本地分支和远程分支的关系

    git branch --set-upstream <name> origin/<name>

    分支提交历史整理成直线

    git rebase

    标签

    给版本一个明确标签,有助于后期维护。

    创建标签

    git tag <tagName>

    创建历史标签

    git tag <tagName> <commitId>

    查看标签信息

    git show <tagname>

    删除标签

    git tag -d <tagName>

    推送标签

    git push origin <tagName>

    推送所有标签

    git push origin --tags

    删除远程标签

    git push origin :refs/tags/<tagName>

    其他

    1、忽略特殊文件.gitignore

    我们不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

    git add -f <fileName>    强制添加文件到Git,不管是不是被忽略
    git check-ignore -v <fileName>    检测文件是否被忽略

    2、配置别名

    git config --global alias.st status

    3、查看配置信息

    cat .git/config    版本库
    cat .gitconfig    全局
  • 相关阅读:
    15.Python略有小成(内置模块Ⅰ)
    14.Python略有小成(自由模块)
    13.Python略有小成(装饰器,递归函数)
    12.Python略有小成(生成器,推导式,内置函数,闭包)
    11.Python初窥门径(函数名,可迭代对象,迭代器)
    python-正则表达式1消-?号除贪婪模式
    python-虚拟环境的搭建-学习20190529
    mysql 创建用户远程连接
    关于Apache php 报500错误
    嗅探主机的网络包并解析成ip地址
  • 原文地址:https://www.cnblogs.com/TanSea/p/Git.html
Copyright © 2011-2022 走看看