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. session_unset,session_destroy

    session_unset()释放当前用户在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的sessionid session_destroy()删除当前用户对应 ...

  2. 关于dos命令行脚本编写

    dos常用命令另查 开始之前先简单说明下cmd文件和bat文件的区别:在本质上两者没有区别,都是简单的文本编码方式,都可以用记事本创建.编辑和查看.两者所用的命令行代码也是共用的,只是cmd文件中允许 ...

  3. VS2013/VS2015/VS2017通过oschina托管代码

    1.到http://git.oschina.net注册账号,创建项目,这一步不做详细描述,创建后效果如图 2.打开VS创建项目,为了测试,创建一个空白解决方案 3.把解决方案添加到源代码管理(这一步仅 ...

  4. DG_数据文件转换参数测试

    本篇博客流程图: 一.测试需求及参数说明 二.测试环境进行相关测试 三.问题总结 一.测试需求及参数说明 1.1测试需求说明 DG切换 切换前,数据库版本12.2.0.1,主库rac两节点,备一rac ...

  5. 关于LaTeX公式排版

    [转载请注明出处]http://www.cnblogs.com/mashiqi 2017/10/05 1.居中括号框住多行公式 \begin{equation*} \left\{\begin{alig ...

  6. python 转义字符 html 爬虫

    用python的requests包 抓取某些网页时,返回的html中,一些字段含有一些 转义字符 \\\\\\\ 这些转义字符给我们后期处理带来一些麻烦, 比方说 运行js等 python用print ...

  7. linu下未编译的mysql安装包

    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21.tar.gz

  8. c——动态数组

    动态数组的实现 #include<stdio.h> #include<stdlib.h> int main(){ int i,n,*a; scanf("%d" ...

  9. 3.python中的基本概念

    注释: 单行注释 # 多行注释 """ ''' 变量: 把程序运行中产生的值,暂时存储在内存,方便后面的程序调用. 变量命名的规则: 1.用数字.字母.下划线组成. 2. ...

  10. 使用golang 编写postgresql 扩展

      postgresql 的扩展可以帮助我们做好多强大的事情,支持的开发语言有lua.perl.java.js.c 社区有人开发了一个可以基于golang开发pg 扩展的项目,使用起来很方便,同时为我 ...