1、简介和安装
Git是世界上目前最先进的分布式版本控制系统。
安装:https://git-for-windows.github.io下载。
设置姓名和email:
git config --global user.name "Yaohui"
git config --global user.email "1250661383@qq.com@example.com"
2、版本库
2.1、创建:创建一个空目录
mkdir git
cd git
pwd 用于显示当前目录
2.2 用git init(初始化) 把这个目录变成git可以管理的仓库,如果目录地下没有.git(版本库)的目录,因为这个目录是默认隐藏的,用 ls -ah显示。
把一个文件放入Git仓库第一步:
Git add 文件名 告诉Git,把文件添加到仓库。第二步:
Git commit -m 提交到仓库。-m后面输入本次提交的说明
Git status 查看仓库状态。
Git diff(difference) 查看具体修改的内容。
Git log 查看历史记录。
Git reset 切换、退回版本。HEAD表示最新版本
Git reflog 记录用户每一次命令。
Git与SVN最大的不同之处就是有暂存区。
.git(版本库)存放最重要的是stage(或者叫index)暂存区。自动创建一个master分支,以及指向master的指针HEAD,commit就是往分区上提交。
理解为需要提交的文件修改通通放在暂存区,然后一次性提交暂存区的所有修改到分支,提交后没有对工作区做修改的话,那么工作区就是干净的。
3、管理修改
删除、增加、修改一行都属于修改。
Git checkout -- 文件名 就是把该文件在工作区的修改全部撤销。分为两种:一种是修改没有放到暂存区的话撤回到版本库的状态。第二种是已经存放到暂存区,撤回到暂存区后的状态。也可以理解为最近一次 Git commit 或者 Git add时的状态。
Git rm 删除文件。
4、远程仓库
4.1 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
ssh-keygen -t rsa -C "1250661383@qq.com@example.com"
里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
4.2 登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

GitHub允许添加多个key。
首先,登陆GitHub,然后,在右上角找到“New repository”按钮,创建一个新的仓库:

在Repository name填入1507,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:

在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
现在,我们根据GitHub的提示,在本地的learngit仓库下运行命令
Git remote add 远程仓库名字(默认叫做origin) git@github.com:自己github账户名/本地仓库名字(yaohui.git)
git push -u(会吧本地分支和远程分支连接起来)本地仓库内容推送远程仓库。(git push 远程仓库名字 master)
git remote add 远程仓库名称 关联远程仓库
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;第一次推送加上 -u
5、分支管理
git分支与众不同,无论创建、切换或删除分支,一秒就可以完成,不论大小。
每次提交Git都会把它们串成一个时间线,时间线就叫做分支。
创建dev分支,然后切换到dev分支:
git branch dev 创建 git branch 查看当前分支
git checkout -b(表示创建并切换) dev 切换
git merge dev 合并
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
强制删除分支:git branch -D <name>
Git远程分支操作
查看全部分支:git branch -a
删除远程分支:git push origin --delete <name>
git push origin :<name>
6、码云
使用码云和使用GitHub类似,我们在码云上注册账号并登录后,需要先上传自己的SSH公钥。选择右上角用户头像 -> 菜单“修改资料”,然后选择“SSH公钥”,填写一个便于识别的标题,然后把用户主目录下的.ssh/id_rsa.pub文件的内容粘贴进去:

我们在码云上创建一个新的项目,选择右上角用户头像 -> 菜单“控制面板”,然后点击“创建项目”,名称最好与本地库名保持一致。

使用命令git remote add把它和码云的远程库关联,正常地用git push和git pull推送了。
git remote -v 查看远程库信息。远程库码云中叫做gitee。剩下操作和远程命令一样。
7、忽略文件
7.1 忽略操作系统自动生成的文件,比如缩略图
7.2忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库。
7.3忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件
8、配置别名

简单快捷使用Git的更多相关文章

  1. 简单快捷好用的vim配置和终端配置推荐

    vim 配置实用spf13-vim,安装方便简单快捷,极力推荐. 另外oh-my-zsh 终端配置很好,与之搭配使用效果更佳. 安装都很简单,一个脚本搞定, 都是在gitHub上开源的,自行搜索,这里 ...

  2. .net下简单快捷的数值高低位切换

    .net下简单快捷的数值高低位切换 做网络通讯中数值传输是很普遍的事情,但数值的存储在不平台和硬件上存储方式都不一样,主要有两大类分别是高位和低位存储:而.net平台下是低位存储,通过.net提供的函 ...

  3. 简单快捷地测试 JPush API

    随着 JPush API v3版本的推出,加上之前开放的 Report API,JPush API 逐渐切换为比较好的符合 REST API 的规范,从而也很容易地使用一般的 HTTP/REST 工具 ...

  4. 右键快捷打开Git Bash here失败

    右键快捷打开Git Bash here失败,提示: Error: Could not fork child process: Resource temporarily unavailable (-1) ...

  5. percona-xtrabackup-8.0.7简单快捷使用

    percona-xtrabackup-8.0.7简单快捷使用 # 参考资料: https://blog.csdn.net/vkingnew/article/details/83012316 # 环境: ...

  6. jQuery validate 根据 asp.net MVC的验证提取简单快捷的验证方式(jquery.validate.unobtrusive.js)

    最近在学习asp.netMVC,发现其中的验证方式书写方便快捷,应用简单,易学好懂. 验证方式基于jQuery的validate 验证方式,也可以说是对jQuery validate的验证方式的扩展, ...

  7. goss 简单快捷的服务器测试检验工具

    goss 是一个简单.快捷的服务器测试检验工具,dgoss 是一个包装可以支持基于容器的开发模式 同时可以暴露测试结果为一个http endpoint,比较方便. 使用goss容器运行 使用数据卷的模 ...

  8. 无脑简单 命令升级git Centos

    yum remove git yum install zlib (系统默认已经装上) yum install zlib-devel ># wget https://github.com/git/ ...

  9. 简单 常用的git命令

    常用的git命令 git pull  获取最新 git add . 提交所有 git commit  -m “我的注释” git status 查看状态 git push origin master ...

随机推荐

  1. servlet邮箱激活验证实例含代码

    也有很多人本来有机会的,他们都拒绝了,不想让自己太累,太麻烦.或者中途被情绪所左右,半途而废了. 成长是有代价的,同样悠闲也是有代价的. 流程: 用户填写相关信息,点击注册按钮 系统先将用户记录保存到 ...

  2. 测试同学必备抓包工具--charles之mock数据

    charles中有三个是我经常用到来mock数据的. 一. 打断点--Breakpoints 1. 先切换查看‘Structure’模式 2. 找到目标链接,对其父级进行打断点,如图 3. 取消掉再次 ...

  3. (转)Web.config配置文件详解

    花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <? ...

  4. Fibonacci Heaps

    Mergeable heapsA mergeable heap is any data structure that supports the following five operations,in ...

  5. 微信小程序用setData给数组对象赋值

    假如现在要给数组marker中的对象属性赋值 data: { marker: [ { latitude: ' ' , longitude: ' ' } ] },   在方法中的写法为   fetchJ ...

  6. XLua热更新用法全流程总结(所有容易出问题的点)

    Xlua热更新流程总结 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创 ...

  7. @angular/cli 工程 项目 配置

    如果你创建工程项目用angular-cli 你的样式文件想使用scss, 并且让ng serve自动编译它们 你可以在创建项目的时候用 ng new sassy-project --style=sas ...

  8. pam模块初探

  9. JDK8安装与配置

    如果是免安装包 配置方法 1.配置java环境变量 注意:jdk文件夹名字取名不要用汉语取名. 1)鼠标右键点击我的电脑(计算机)选择属性栏 2)再点击左边高级系统设置 3)点击环境变量 4)在系统变 ...

  10. 第十七章 java8特性

    17.java8中Lambda表达式与Stream API的使用 17.1 Lambda 表达式(Lambda Expressions) 1课时 17.2 函数式(Functional)接口 1课时 ...