Git 快速入门

摘要:
保存退出[:w保存],[:q退出],[!q!

首先来了解一下什么是[git]

git是一款分布式管理代码以及一些简单的常规文本文件的的工具,并可将修改的代码上传至服务器备份,相较之前的'svn'集中式管理工具,git是一款非常方便且安全的工具.

tip:[分布式]是指整个项目在分部开发时可以直接将项目分支给其他分部,待各个分部代码写完后再向主线合并即可,这样即便有一个分支出现问题也不会影响主线,非常方便 .
(通常在公司项目开发中,项目主管决定你做的分支项目是否合格,从而决定是否合并到主线项目中)
[集中式]则不具备上面的优势,所有的不论是分支操作还是主线都是在一个域下完成的,虽然会不停的自动备份,但是一旦服务器出现问题那整个项目都将受到影响.

说完了git的特性之后下面再来说说如何安装[git]

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
首先在官网下载最新版的git并安装
https://git-scm.com/downloads
[git安装选择在window下使用git并且在window下使用linux命令]基本上是傻瓜式按装.


安装完成后下面来了解一下几个[git]中几个常用的命令操作
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

[cd]changeDirectory
--改变目录文件夹
[语法:] cd 目录名或地址
例子:cd desktop/node/201704

告诉git你是谁(否则无法提交)

[git config --list] 查看当前git配置列表

git config --list

[git config --global user.name] github账号名

git config --global user.name 12345555666789

[git config --global user.email ]github邮箱

git config --global user.email 502071587@qq.com

提交的时候如果报错who are you 表示没配置

[mkdir]创建目录

mkdir git -->创建一个名为git的目录

[rm -rf .文件夹名]删除目录

rm -rf .git 删除名为git的目录
rm -rf . -->表示删除目录下全部

管理文件
初始化git,告诉git 哪个文件夹归你管理
[git init]

git init  -->初始化当前目录
git仓库不能嵌套
此命令只需在项目的根目录执行一次即可

[touch]创建文件
可以创建以"."开头命名的文件

touch index.txt -->创建了一个名为index的TXT文本

[cat]一次性查看文件内容

cat index.txt

[vi]编辑文件

  • [i]开始insert插入编写,按esc键退出编写
  • ESC键 后按:wq!保存退出[:w保存],[:q退出],[:q!强制退出]

[git三刀流]

[init]之后-->[add][commit][push]
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
[git add]将更改的后的操作同步至[暂存区]

git add .  ->表示同步所有文件操作
git add index.txt ->仅同步名为index的txt的文档的操作

[git commit -m'xxx']将已同步到暂存区的的操作,更新至[历史区]

git commit -m '这次更新的注释'

[push]将目录以及操作更新并上传至"GitHub"库中
需要先配置,稍后详细会讲

=============================

[git status]查看当前操作状态状态主要是看操作进行到了哪一步
返回红色文件名 表示操作在工作区有更改 并且还没向暂存区更改,绿色则表示操作在暂存区
如什么都没有返回或者返回
nothing to commit, working tree clean
就表示没有操作改动或者所有操作已经同步

git status

[git log]查看往期版本日志

git log
返回文件名,更新时间以及每一次的版本号和注释

[git reset HRAD 文件名]撤销本次向暂存区的操作

git reset HEAD index.txt

[git checkout 文件名]从暂存区恢复至工作区(适用于还未同步至暂存区的工作区操作失误)

git checkout index.txt 
 -->这样如果此时工作区有想撤回的操作,那就在还没commit更新本前执行此命令即可

[回滚操作]

还原至指定的版本
将工作区、暂存区、历史区同步为一个版本

git reset --hard 版本号

同样还可以查看任意回滚前后的不同的版本指令为[git reflog]

git reflog

[分支管理]

[在开始已经基本阐明分支的用意,这里不做过多赘述]

[git branch]查看所有分支包括主线

git branch

[git branch 分支名]创建一个新分支

git branch project

[git checkout 分支名]切换分支
这里需要说明如果当前分支有未同步至历史区的操作是无法实现切换分支的需要提前先同步完成后才行

git checkout project
  • 快捷操作[git checkout -b 分支名]创建并切换到新分支

*特别说明*只有将工作区的内容提交到指定分支后,这个内容才会属于那个分支,这样别的分支就看不到这个内容了


[合并分支]

主分支master上合并project分支

git merge project

*tip如果在合并的两个分里支存在对相同文件相同的代码的修改操作,则会在合并时出现冲突,git会提示你手动修改此时就需要自己手动打开在主支线里的这个冲突文件对其冲突部分进行修改,最后再进行提交


对于已经同步过的只是想行更新本的快捷操作[git commit -a -m'版本注释']没同步过的新文件不能使用此指令

[删除分支]

删除前要先切换到别的分支不然删不了

git branch ‐d dev

[扩展]↓

储存工作区
[git stash list]

删除储存的历史
[git stash apply]
[git stash drop]
[git stash pop]

创建标签
[git tag v1.0]
查看版本
[git show v1.0]

[rebase]和[cherry-pick]
这两个作用比较类似都是把主分支是定版本的commit内容接到分支里面


至此[git]常用的本地操作的说明就基本结束了

===========================

[GitHub]远程仓库

注册完成github账号后先在本地配置一下".gitignore"文件,把不需要上传仓库的文件及目录写在里面也就是忽略上传的文件及目录

先在主支线下创建配置文件
执行命令
touch .gitignore

然后编辑.gitignore文件,比如在里面写上
.DS_Store
node_modules
.idea
那么这三个文件就不会上传至github

*tip温馨提示空的目录是不会被上传的 如故想上传空文件夹那就随便在里面放点啥就可以了


配置完成后就可以直接使用[git三剑客]
[init]初始化之后
[add][commit][push]

保证github是可以用的情况下

[连接远程仓库]
github新建一仓库后将地址复制,用[git remote add 别名 地址]指令来连接

git remote add 别名(默认origin) 你的地址
例子:
git remote add origin git@github.com:12345555666789/201704node.git

[git remote -v]查看所有关联的仓库
[git remote rm 别名]可以删除已关联的仓库

推送[git push origin master]
(git三剑客最后步骤)
将所有的操作及文件上传至仓库
(我喜欢把这个叫"同步")

[发布github静态页]

详细步骤如下

创建存放静态页的固定分支
[git checkout -b gh-pages]

在里面创建html文件
[touch index.html]

编写完成后执行三剑客
[git add .]
[git commit -m'注释']
[git push origin gh-pages]

克隆

  • 只需克隆一次,克隆下来会默认给一个地址,以后就可以在这个地址上使用[git pull]指令来 更新数据
    详细步骤指令如下
git clone 别人的地址 别名
git pull origin master 
( 如果有出现冲突 删除冲突文件 提交(历史区)后再次拉取)一般不会有冲突

[扩展Fork]
可以将别人的库以"Fork"的方式分享到自己的github账号仓库中,同样也可以对其内容进行修改并发送修改别人库代码的请求,如经他人同意后方可修改

免责声明:文章转载自《Git 快速入门》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇标准Table.TransformColumns(Power Query 之 M 语言)Vue之Mustache语法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

3.Cobbler自动化安装Windows7

<!doctype html>02_2.部署Windows7 定制PE工具 首先下载微软官方提供的制作工具 Windows AIK。点击 | 进入下载页面 下载完成之后,解压压缩包,点击目录中的StartCD.exe进行安装 选择Windows AIK安装程序进行安装 安装完毕之后,以管理员身份运行该工具 # 使用copype创建...

git提交过滤target文件 idea_IDEA GIT 忽略文件的最佳方式推荐

在intellij中忽略提交文件,分两种情况, 文件没有纳入版本管理 第一种方法 文件还没有纳入版本管理,这种通过 svn的ignore配置 version control—-local changes—-configure ignored files 忽略文件分几大类,忽略某个文件夹、忽略某类文件(正则)、忽略某个文件 文件已经纳入版本管理 如果文件已...

git命令手册

以下内容是我在学习和研究Git时,对Git操作的特性、重点和注意事项的提取、精练和总结,可以做为Git操作的字典,方便大家查阅; 备注:本文会不断更新完善; 目录 一. 语法格式描述 二. git环境变量存放的3个位置 三. 配置 1. 用户信息 2. 查看配置信息 3. 文本编辑器 4. 差异分析工具 四. 获取帮助 五. Gi...

【Hexo】使用Hexo+github pages+travis ci 实现自动化部署

目录 一、说明 二、成品展示 三、前期准备 本地安装 node.js 本地安装 git github 账号 创建仓库 travis ci 账号 四、安装 Hexo 五、使用 hexo 搭建博客 六、部署到 github pages 七、使用 travis ci 进行自动化部署 小结 一、说明 本系列文章将会详细说明使用 Hexo + git...

使用Git GUI工具 上传本地仓库到 gitee码云仓库

前言:  网上关于git的命令操作与使用很多教程和博客,在使用git工具时我发现有一个 git Gui 可视化工具,我觉得十分的亲切,由于我之前一直是使用svn作为版本控制管理工具,都是可视化操作,使用起来特别方便,我发现了git GUI 我觉得这个应该使用起来就会很方便就不用去使用命令进行上传更新提交代码了吧,但在使用Git GUI过程中并没有那么的方便...

在VSCode中使用Git处理文件冲突(pull不能从服务器拉取代码)

正常情况下,获取最新代码并修改完本地代码后,正常提交流程是先暂存本地代码、提交、推送至服务器。 在多人协作开发时会出现本地文件和服务器文件冲突的情况,这时候不能成功拉取服务器代码进行合并,这时候需要采取Stash命令, 步骤:   1、Stash Changes 这个操作会把选中的文件暂时copy一份放在存储中心(独立于本地代码和git服务器代码),并将...