美文网首页
Git设计理念和使用教程

Git设计理念和使用教程

作者: IT飞牛 | 来源:发表于2018-12-04 21:37 被阅读0次

刚开始使用git的时候,总想拿git来和cvs或者svn来作对比,但不久后发现这个想法本身就是错的,git完全就是另外一种物种,一种本属于未来的物种。它的对象存储方式,快照,分支等,都是完全不同的。
相信每个使用git的人,都想了解git内存文件的存储对象,快照,提交在历史和分支等内部的原理。都想知道它是否有传说中的那么强大?

Git相比较其他版本控制系统最大的优势无异于:
1、底层文件存储系统
2、分布式的特性

git基本原理

需要搞清楚以下名词的概念
工作区(Workspace):就是你在电脑里能看到的目录
暂存区(Index/Stage):所有变动的文件,Git 都记录在一个区域,叫做"暂存区"
本地仓库(Repository):本地的代码仓库,不用上网,纯本地管理。
远程仓库(Remote):线上仓库,本地仓库某个版本在线上的镜像存在。

常用命令

  • 初始化
    git init
    git remote add origin #远程仓库地址
  • 添加文件到版本库
    git add <file>/. 未暂存区 >> 已暂存区
    git commit -m '版本说明' 已暂存区 >> 本地仓库
  • 查看仓库状态
    git status 查看工作目录中所有文件的状态
    git log 命令可以显示所有提交过的版本信息
    git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
  • 暂存
    git stash git stash作用的范围包括工作区和暂存区中的内容,也就是说没有提交的内容都会保存至堆栈中。后续可以在某个分支上恢复出堆栈中的内容。
    git stash clear 清空缓存
    git stash pop 释放缓存到当前分支
  • 撤销
    git reset --hard HEAD 回退到当前版本,清空暂存区和工作区的所有修改;
    git reset --hard HEAD~ 回退到上一个版本,清空暂存区和工作区的所有修改;
    git reset --hard 1094a 回退到某个指定版本,清空暂存区和工作区的所有修改;
    git checkout -- <file> 撤销某文件的修改。
    1.一种是自修改后还没有被放到暂存区,则回到和版本库一样的状态;
    2.一种是已经添加到暂存区后,又作了修改,则回到添加到暂存区后的状态。
    git checkout commid_id src/main/main.c 回退某文件到指定版本,注意:/
  • 提交到远程仓库
    git push origin master -f强制执行
    git push origin master -u-u后,以后执行可以简化为git push
  • 从远程仓库更新本地仓库
    git pull origin master -f强制执行
  • 分支
    git checkout -b dev 创建dev分支,然后切换到dev分支。(等于下面两步)
    1、git branch dev 创建dev分支
    2、git checkout dev 切换到dev分支
    git branch查看所有分支
    git branch -d dev 删除分支
    git checkout master从当前分支切换回master分支
    git merge dev 把dev分支的工作成果合并到master分支上(需要处于master分支上时执行)
  • 常见冲突(conficts)
    场景一 (这种场景比较多)
    user0 有新提交
    user1 没有pull -> 写新代码 -> pull -> 提示有冲突
    解决办法
    -> stash save(把自己的代码隐藏存起来) -> 重新pull -> stash pop(把存起来的隐藏的代码取回来 ) -> 代码文件会显示冲突 -> 右键选择edit conficts,解决后点击编辑页面的 mark as resolved -> commit&push
    场景二
    user0 有新提交
    user1 没有pull -> 写新代码 -> commit&push -> 提示有冲突
    解决办法
    -> pull -> 代码文件会显示冲突 -> 右键选择edit conficts,解决后点击编辑页面的 mark as resolved -> commit&push

图形化软件推荐:Source Tree

创建仓库两种方式

一、从远程仓库克隆到本地仓库

  1. 在码云新建一个仓库,命名为GitTest,里面默认生成两个说明文件:README.en.mdREADME.md
  2. 从远端仓库clone到本地,git clone https://gitee.com/***/GitTest.git

二、从本地仓库Push到远程仓库

  1. 本地初始化一个项目,执行git init初始化。会在当前目录中生成一个.git隐藏目录,用于记录代码变化。
  2. 关联远程仓库,git remote add origin https://gitee.com/***/GitTest.git

设置用户名和邮箱
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"

参考资料
提交第一行代码
Git教程 - 廖雪峰的官方网站


只下载子文件夹代码

git init test && cd test     //新建仓库并进入文件夹
git config core.sparsecheckout true //设置允许克隆子目录
echo 'tt*' >> .git/info/sparse-checkout //设置要克隆的仓库的子目录路径   //空格别漏
git remote add origin git@github.com:mygithub/test.git  //这里换成你要克隆的项目和库
git pull origin master    //下载

git学习之git clone 克隆或下载一个仓库单个文件夹


创建忽略文件.gitignore**

git base中运行vim .gitignore,创建.gitignore文件,可以设置哪些文件/文件夹不需要加入到仓库。
保存文件:1、esc2、:wq

micro-cloud/
QT客户端/
数据库/
文档/

WEB前台/.DS_Store
WEB前台/node_modules/
WEB前台/dist/main.index
WEB前台/dist/static
WEB前台/npm-debug.log*
WEB前台/yarn-debug.log*
WEB前台/yarn-error.log*
WEB前台//test/unit/coverage/
WEB前台//test/e2e/reports/
WEB前台/selenium-debug.log

# Editor directories and files
WEB前台/.idea
WEB前台/.vscode
WEB前台/*.suo
WEB前台/*.ntvs*
WEB前台/*.njsproj
WEB前台/*.sln

.gitignore

相关文章

  • Git设计理念和使用教程

    刚开始使用git的时候,总想拿git来和cvs或者svn来作对比,但不久后发现这个想法本身就是错的,git完全就是...

  • 温故而知新

    图说设计模式 链接地址 git教程 链接地址 linux 个人使用教程,包含FanQiang 链接地址

  • Git使用教程-idea系列中git使用教程

    Git使用教程 idea、webstorm、phpstorm、androidstudio中git使用教程 首先你的...

  • 用了两年git,rebase原来这样用

    Å目录 SourceTree简介 git merge使用教程 git rebase使用教程 一、SourceTre...

  • Git和Markdown

    1、写作背景 20200814内训主题:git使用 和 Markdown使用 2、参考网址 Git基本使用教程[...

  • 版本控制学习

    版本控制:SVN和GIT的一些使用感受 git官方文档 GitBook使用教程

  • Github

    Github使用教程一Github使用教程二Github使用教程三 Git常用命令Git之使用GitHub搭建远程仓库

  • 手把手带你玩git之 git stash

    背景 git相对svn有许多好的设计,其中一个就是git stash功能。许多教程在介绍git stash的使用场...

  • Git基础

    git教程 git 教程 廖雪峰git 教程 官方教程 git 全局设置 name和emailgit config...

  • Git和Github的基础使用

    Git和Github新手极简使用教程 Git和Github介绍:百度/Google-搜索关键词: SVN Git ...

网友评论

      本文标题:Git设计理念和使用教程

      本文链接:https://www.haomeiwen.com/subject/dwxbcqtx.html