zoukankan      html  css  js  c++  java
  • Git 安装使用以及命令详解

    一、简介及下载安装

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

    作者 Linus Torvalds(林纳斯·托瓦兹)

    关于git的发展史感兴趣可以自行百度,这里不再详细描述,接下来直接开撸

    下载地址:https://git-scm.com/downloads 下载对应os版本等即可

    按照提示选择默认配置下一步,完成即可。

    二、本地仓库配置及相关操作

    安装完成后,还需要最后一步设置,在命令行输入如下:

    git init 在项目文件夹内初始化本地仓库

    Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。


    项目配置
    git config user.name "zhanh247"
    git config user.email "77366xxxx@qq.com"
    .git下的config文件可以修改配置项


    全局配置
    git config --global user.name "zhanh247"
    git config --global user.email "77366xxxx@qq.com"
    C:Usersadmin路径下的.gitconfig文件里面可以看到 --global 表示全局属性,所有的git项目都会共用属性

    关于GIT的开发流程,我们可以用如下图来简单描绘

    下面正式进入git相关操作及常用命令

    git status 查看当前目录下的文件状态
    git add <文件名> 将文件添加到暂存区


    git commit 编写注释 ,提交到本地仓库
    git commit –m “注释内容” 直接带注释提交


    git log <文件名> 进行查看历史记录
    git log --pretty=oneline <文件名> 简易信息查看


    git reset --hard HEAD^ 回退到上一次提交
    git reset --hard HEAD~n 回退n次操作


    git reflog <文件名> 查看历史记录的版本号
    git reset --hard 版本号 回退到对应的历史版本
    git checkout -- <文件名> 还原文件

    要从git上删除文件,需要先删除文件,再git add 再提交

    工作区(Working Directory):就是你电脑本地硬盘目录

    本地库(Repository):工作区有个隐藏目录.git,它就是Git的本地版本库

    暂存区(stage):一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)

    git branch <分支名> 创建分支
    git branch –v 查看分支


    git checkout <分支名> 切换分支
    git checkout –b <分支名> 创建并切换


    git checkout master 先切换到主干
    git merge <分支名> 合并分支


    冲突:一般指同一个文件同一位置的代码,在两种版本合并时版本管理软件无法判断到底应该保留哪个版本,因此会提示该文件发生冲突,需要程序员来手工判断解决冲突。

    合并时冲突:程序合并时发生冲突系统会提示CONFLICT关键字,命令行后缀会进入MERGING状态,表示此时是解决冲突的状态。

    解决冲突:通过git diff 可以找到发生冲突的文件及冲突的内容。

    然后修改冲突文件的内容,再次git add <file> 和git commit 提交后,后缀MERGING消失,说明冲突解决完成。

    三、github托管及上传

    GitHub是一个Git项目托管网站,主要提供基于Git的版本托管服务
    网址:https://github.com/

    增加远程地址
    git remote add <远端代号> <远端地址> 。
    <远端代号> 是指远程链接的代号,一般直接用origin作代号,也可以自定义。
    <远端地址> 默认远程链接的url
    例: git remote add origin https://github.com/user111/Helloworld.git

    修改远程地址
    方式1、直接修改:
    git remote set-url origin xxxxx.git

    方式2、先删后加 :
    git remote rm origin
    git remote add origin xxxxx.git

    修改默认pull和push分支:
    git branch --set-upstream-to=origin/develop develop
    origin/develop develop为要设置的默认分支

    推送到远程库
    git push <远端代号> <本地分支名称>。
    <远端代号> 是指远程链接的代号。
    <分支名称> 是指要提交的分支名字,比如master。
    例: git push origin master

    动态记住用户密码,不用每次都输入
    git config credential.helper store


    从GitHub上克隆一个项目
    git clone <远端地址> <新项目目录名>。
    <远端地址> 是指远程链接的地址。
    <项目目录名> 是指为克隆的项目在本地新建的目录名称,可以不填,默认是GitHub的项目名。
    命令执行完后,会自动为这个远端地址建一个名为origin的代号。
    例 git clone https://github.com/user111/Helloworld.git hello_world


    从GitHub更新项目
    git pull <远端代号> <远端分支名>。
    <远端代号> 是指远程链接的代号。
    <远端分支名>是指远端的分支名称,如master。
    例 git pull origin master

    协作冲突:在上传或同步代码时,由于你和他人都改了同一文件的同一位置的代码,版本管理软件无法判断究竟以谁为准,就会报告冲突,需要程序员手工解决。

    打标签
    官方文档:https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%89%93%E6%A0%87%E7%AD%BE
    为啥要打标签?
    在master 或者自定义的release中会有版本迭代,有些版本则是有重大意义的,便于后续回滚
    git tag 列出该分支下的所有标签
    git show v1.4 展示某个标签详情


    git tag -a v1.4 -m "my version 1.4" 创建一个带注释的标签

    git push origin v1.5 将标签推送到远程仓库

    git tag -d v1.4-lw 删除标签
    git push origin --delete <tagname>

  • 相关阅读:
    栈(代码分解)
    线性表(代码分解)
    绪论简概
    1006 Sign In and Sign Out (25 分)
    1005 Spell It Right (20 分)
    分支界限法解决0/1背包问题
    Sequence( 分块+矩阵快速幂 )
    Shape Number (最小表示法)
    Age of Moyu (2018 Multi-University Training Contest 7)
    [Cqoi2014]危桥 (两遍网络流)
  • 原文地址:https://www.cnblogs.com/zhanh247/p/12019962.html
Copyright © 2011-2022 走看看