git学习笔记(上)
1 安装
win安装
安装之后自报家门
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
2 使用本地库
创建本地文件夹
将当前文件夹设置为仓库
$ git init
添加文件到本地库
$ git add readme.txt
注意, 在git中, commit提交的是add的文件,不是源文件, 所以对源文件再修改内容, 此部分的修改不会被commit.
因此, 要提交之前先add, 保证修改都能被提交上
提交添加的内容
$ git commit -m "wrote a readme file"
其中m后面的是 该版本的 添加信息
查看仓库的文件状态是不是有更新或者修改
$ git status
查看文件不同点
$ git diff readme.txt
3 版本回退
查看历史记录
$ git log
$ git log --pretty=oneline
# 下一种是省略一点的信息的查看方式
返回到上个版本
$ git reset --hard HEAD^
其中 HEAD^表示回退一个版本, HEAD^^表示回退两个版本, HEAD~100表示回退100个版本
再返回之前的版本
$ git reset --hard 3628164
其中的数字是版本号
如果忘记了版本号, 可以通过reflog查看
$ git reflog
4 工作区与版本库
工作区是指本地仓库
此时可以通过add到版本库的stage中
在stage中的文件可以通过commit提交到版本库中
5 撤销修改
撤销修改
git checkout -- file
注意此时是清除工作区的内容, 如果stage有内容就回复成stage的, 如果没有就回复成master的
撤销add
git reset HEAD readme.txt
6 删除文件
删除文件
$ git rm test.txt
$ git commit -m "remove test.txt"
注意这个删除是删除本地库文件的删除
要使修改提交到远程库
$ git push origin master
如果误删了, 可以恢复
$ git checkout -- test.txt
7 添加远程仓库
生成ssh-keygen
$ ssh-keygen -t rsa -C "xuanyetouci@126.com"
登录github, 打开Account settings, 添加ssh, 将在C:\Users\Administrator\.sshid_rsa.pub的内容复制上去
将本地的仓库链接至远程仓库
$ git remote add origin git@github.com:xuanyetouci/learngit.git
其中origin是在本地对远程仓库的命名
git@github.com是固定写法
冒号后面是 用户名/仓库名.git
将本地内容推送出去
$ git push -u origin master
将本地修改写入到远程仓库中
$ git push origin master
8 克隆
第7点 是已有了本地的仓库, 添加到远程的仓库
克隆是指已经有可远程仓库, 想要把远程的内容拷贝到本地仓库
克隆到本地
$ git clone git@github.com:xuanyetouci/gitskills.git
其中会在当前文件夹生成一个gitskills文件夹
9 创建分支
创建分支
$ git checkout -b 分支名字
其中 -b 表示创建分支并且切换
效果等同于
$ git branch 分支名字
$ git checkout 分支名字
查看分支
$ git branch
会列出所有分支, 当前分支前面有个*
切换分支
$ git checkout master
合并指定分支到当前分支
$ git merge 指定的分支名
删除分支
$ git branch -d 分支名
git学习笔记(上)的更多相关文章
- Git学习笔记-上传一个新的项目到GitHub上
前提: 已有Github账号,已在Github上建立了仓库,已在Github上配置了SSH,已上传过一些项目到Github上 目标: 目前有一个新的项目,需要上传到github上 我的做法记录: 1. ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- Git学习笔记(四)
一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...
- Git学习笔记---协作的一般流程
一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...
- 【转帖】Git学习笔记 记录一下
本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...
- [转]Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- GIT学习笔记(1):创建版本库
GIT学习笔记(1):创建版本库 创建版本库 1.创建合适目录并初始化为仓库 版本库即需要交由Git进行版本控制的目录,其下所有文件的修改.删除,Git都能跟踪还原. 说明:初始化后,当前目录下会多出 ...
- GIT学习笔记(5):变基
GIT学习笔记(5):变基rebase 变基 引入变基 在Git中整合来自不同分支的修改主要有两种方法:merge以及rebase. 整合分支最容易的方法是merge,他会把两个分支的最新快照以及两者 ...
随机推荐
- Android Glide源码分析
1. 功能介绍 图片加载框架,相对于UniversalImageLoader,Picasso,它还支持video,Gif,SVG格式,支持缩略图请求,旨在打造更好的列表图片滑动体验.Glide有生命周 ...
- 设置NSZombieEnabled和MallocStackLogging
在XCode.4以上版本号中,设置NSZombieEnabled和MallocStackLogging 1.点击XCode的Product菜单.选择Edit Scheme...选项 2.选择左側的Ru ...
- 【Lintcode】二叉树的最大深度 - 比较简单,用递归比较好,不递归也能做,比较麻烦
给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的距离. 您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的 ...
- 第七讲_图像描述(图说)Image Captioning
第七讲_图像描述(图说)Image Captioning 本章结构 递归神经网络 时序后向传播(BPTT) 朴素Vanilla-RNN 基本模型 用sigmoid存在严重的梯度消失 LSTM长短时记忆 ...
- 解决Gradle执行命令时报Could not determine the dependencies of task ':compileReleaseJava'.
Could not determine the dependencies of task ':compileReleaseJava'. > failed to find target andro ...
- SGPIO
http://en.wikipedia.org/wiki/SGPIO SGPIO From Wikipedia, the free encyclopedia Serial General Purp ...
- linux之return和exit引发的大问题(vfork和fork)
在coolshell.cn上看到的一个问题.为此拿来研究一下. 首先 看看return和exit的差别 在linux上分别跑一下这个代码 int main() { return 0; //exit(0 ...
- kubernetes对象之Volume
系列目录 概述 Volume是对各种存储资源的抽象.虚拟化.为管理.控制.使用存储资源提供统一接口.Openstack中的volume为虚拟机提供存储,Docker中的volume为容器提供存储.因为 ...
- openwrt 修改 banner
http://www.network-science.de/ascii/ rectangles 风格
- 关闭和定时显示DIV
<script type="text/javascript"> $(function(){ $('#ad1').css('display','block'); }) f ...