简单快捷使用Git
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的更多相关文章
- 简单快捷好用的vim配置和终端配置推荐
vim 配置实用spf13-vim,安装方便简单快捷,极力推荐. 另外oh-my-zsh 终端配置很好,与之搭配使用效果更佳. 安装都很简单,一个脚本搞定, 都是在gitHub上开源的,自行搜索,这里 ...
- .net下简单快捷的数值高低位切换
.net下简单快捷的数值高低位切换 做网络通讯中数值传输是很普遍的事情,但数值的存储在不平台和硬件上存储方式都不一样,主要有两大类分别是高位和低位存储:而.net平台下是低位存储,通过.net提供的函 ...
- 简单快捷地测试 JPush API
随着 JPush API v3版本的推出,加上之前开放的 Report API,JPush API 逐渐切换为比较好的符合 REST API 的规范,从而也很容易地使用一般的 HTTP/REST 工具 ...
- 右键快捷打开Git Bash here失败
右键快捷打开Git Bash here失败,提示: Error: Could not fork child process: Resource temporarily unavailable (-1) ...
- percona-xtrabackup-8.0.7简单快捷使用
percona-xtrabackup-8.0.7简单快捷使用 # 参考资料: https://blog.csdn.net/vkingnew/article/details/83012316 # 环境: ...
- jQuery validate 根据 asp.net MVC的验证提取简单快捷的验证方式(jquery.validate.unobtrusive.js)
最近在学习asp.netMVC,发现其中的验证方式书写方便快捷,应用简单,易学好懂. 验证方式基于jQuery的validate 验证方式,也可以说是对jQuery validate的验证方式的扩展, ...
- goss 简单快捷的服务器测试检验工具
goss 是一个简单.快捷的服务器测试检验工具,dgoss 是一个包装可以支持基于容器的开发模式 同时可以暴露测试结果为一个http endpoint,比较方便. 使用goss容器运行 使用数据卷的模 ...
- 无脑简单 命令升级git Centos
yum remove git yum install zlib (系统默认已经装上) yum install zlib-devel ># wget https://github.com/git/ ...
- 简单 常用的git命令
常用的git命令 git pull 获取最新 git add . 提交所有 git commit -m “我的注释” git status 查看状态 git push origin master ...
随机推荐
- session_unset,session_destroy
session_unset()释放当前用户在内存中已经创建的所有$_SESSION变量,但不删除session文件以及不释放对应的sessionid session_destroy()删除当前用户对应 ...
- 关于dos命令行脚本编写
dos常用命令另查 开始之前先简单说明下cmd文件和bat文件的区别:在本质上两者没有区别,都是简单的文本编码方式,都可以用记事本创建.编辑和查看.两者所用的命令行代码也是共用的,只是cmd文件中允许 ...
- VS2013/VS2015/VS2017通过oschina托管代码
1.到http://git.oschina.net注册账号,创建项目,这一步不做详细描述,创建后效果如图 2.打开VS创建项目,为了测试,创建一个空白解决方案 3.把解决方案添加到源代码管理(这一步仅 ...
- DG_数据文件转换参数测试
本篇博客流程图: 一.测试需求及参数说明 二.测试环境进行相关测试 三.问题总结 一.测试需求及参数说明 1.1测试需求说明 DG切换 切换前,数据库版本12.2.0.1,主库rac两节点,备一rac ...
- 关于LaTeX公式排版
[转载请注明出处]http://www.cnblogs.com/mashiqi 2017/10/05 1.居中括号框住多行公式 \begin{equation*} \left\{\begin{alig ...
- python 转义字符 html 爬虫
用python的requests包 抓取某些网页时,返回的html中,一些字段含有一些 转义字符 \\\\\\\ 这些转义字符给我们后期处理带来一些麻烦, 比方说 运行js等 python用print ...
- linu下未编译的mysql安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21.tar.gz
- c——动态数组
动态数组的实现 #include<stdio.h> #include<stdlib.h> int main(){ int i,n,*a; scanf("%d" ...
- 3.python中的基本概念
注释: 单行注释 # 多行注释 """ ''' 变量: 把程序运行中产生的值,暂时存储在内存,方便后面的程序调用. 变量命名的规则: 1.用数字.字母.下划线组成. 2. ...
- 使用golang 编写postgresql 扩展
postgresql 的扩展可以帮助我们做好多强大的事情,支持的开发语言有lua.perl.java.js.c 社区有人开发了一个可以基于golang开发pg 扩展的项目,使用起来很方便,同时为我 ...