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,他会把两个分支的最新快照以及两者 ...
随机推荐
- go 依赖包管理工具gb安装报错
尝试了下gb工具,发现有个问题: [root@etcd1 test]# go get github.com/constabulary/gb/... /home/gopath/src/github.co ...
- DevExpress右键菜单使用 z
添加BarManager和popupMenu组建: 设置popupMenu组件的Manager属性: 右键点击popupMenu主键,点击Customize选项添加菜单: 然后便可添加到鼠标事件 ...
- SilverLight:基础控件使用(5)-TreeView控件-基本使用
ylbtech-SilverLight-Basic-Control:基础控件使用(5)-TreeView控件-基本使用 前台编辑 后台逐个添加 后台绑定数据源 1.A,返回顶部TreeView控件(树 ...
- Git 的使用Git Bash和Git GUI
使用Github也有一年的时间了,之前一直都是使用的Github客户端,对提交,更新,克隆,合并,分支有一定的了解和实践.一直都想试试命令行的形式,但是感觉可能桌面版的方便就没有做. 可是Github ...
- HashMap 和 Hashtable 的同和不同
综述 可以直接根据 hashcode 值判断两个对象是否相等吗?肯定是不可以的,因为不同的对象可能会生成相同的 hashcode 值.虽然不能根据 hashcode 值判断两个对象是否相等,但是可以直 ...
- 老司机找bug的十年心路历程
一.码畜:靠编译器帮自己查语法错误 消灭笔误:编写适合程序猿的键盘练习 if (常量==变量或表达式) 使用goto接力超长的if,switch 连续的if还是if elseif 多个条件的组合:精心 ...
- linux下脚本监控网络流量
linux下脚本监控网络流量 学习了:https://blog.csdn.net/chenghuikai/article/details/48437479 学习了:http://www.jb51.ne ...
- python(24)- 面向对象进阶
面向对象基础知识: 1.面向对象是一种编程方式,此编程方式的实现是基于对类和对象的使用: 2.类是一个模板,模板中包装了多个‘函数’供使用(可以将多函数中公用的变量封装到对象中): 3.对象,根据模板 ...
- MySQL优化之——日志
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46790451 MYSQL里的日志主要分为4类,使用这些日志文件.能够查看MYSQL ...
- PHP 5.6编译安装
yum install openssl openssl-devel libxml2-devel libxml2 bzip2 bzip2-devel curl-devel php-mcrypt libm ...