GIT学习
git init
git add .
git commit -m “”
git status
git diff
工作区-》版本库-》暂存区stage、master分支、指针HEAD-》
add放到暂存区,commit放到分支
git log
reset可以回退版本,还可以撤销add到暂存区的内容,重新回到工作区,可以再次checkout --
撤销commit:git reset --hard HEAD^
git reflog
撤销add前:git checkout -- readme.txt
撤销add:git reset HEAD readme.txt
git rm test.txt + commit 删除
git checkout -- test.txt 找回
/* 掌握命令:vim touch cat ls pwd cd echo */
在http://git.oschina.net创建库:
1.ssh-keygen -t rsa -C "xxxxx@xxxxx.com"# Creates a new ssh key using the provided email
# Generating public/private rsa key pair...
2.cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc.... 将public key添加
3.ssh -T git@git.oschina.net
4.Welcome to Git@OSC, yourname!
//1.远程库origin与本地关联
git remote add origin git@github.com:michaelliao/learngit.git
//2.将本地库中的所有内容推送到远程库中
git push -u origin master
//3.以后推送使用以下命令
git push origin master
分支:
//创建+切换
git checkout -b 分支名second ->相当于 git branch second + git checkout second
//查看
git branch
//与master合并
git merge second
//删除
git branch -d second
解决冲突:
//查看冲突
git status
//查看分支的合并情况 git log --graph
git log --graph --pretty=oneline --abbrev-commit
分支管理策略:
//禁用”fast forward” 并且加上了commit描述
git merge --no-ff -m "merge with no-ff" second
bug分支:
git stash
git stash list
git stash apply + git stash drop / git stash pop
feature分支
//强行删除分支:如果分支还没有被合并,如果删除将丢失掉修改
git branch -D name
本地分支:master,dev,bug,feature
//从远程抓取新提交
git pull
多⼈人协作的⼯工作模式通常是这样:
- 首先,可以试图⽤git push origin branch-name推送⾃自⼰己的修改;
- 如果推送失败,则因为远程分⽀支⽐比你的本地更新,需要先⽤用git pull试图合并;
- 如果合并有冲突,则解决冲突,并在本地提交;
- 没有冲突或者解决掉冲突后,再⽤用git push origin branch-name推送就能成功!
标签
git tag v1.0
git log --pretty=oneline --abbrev-commit
git tag
git show tangle
git tag -d v1.0
git push origin v1.0
git push origin --tags
//删除远程标签需要先删除本地标签
git tag -d v1.0
git push origin :refs/tags/v1.0
git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'
git config --global alias.last 'log -1'
git config --global alias.lg "log --color --graph --
参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
http://blog.csdn.net/windows_nt/article/details/24557831
http://blog.csdn.net/ithomer/article/details/7529022
http://blog.csdn.net/ithomer/article/details/7529841
GIT学习的更多相关文章
- Git 学习看这篇就够了!
Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 可能新手会问"git和github有什么关系啊?" git是一个版本控制工具: githu ...
- Git学习笔记与IntelliJ IDEA整合
Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...
- git学习之branch分支
作为新手,站在我的角度肤浅的来理解,分支就是相当于开辟了一个新的临时工作区,在这个工作区进行文件代码改动,然后在合并到master主工作区,这样能保证主工作区的安全性和稳定性,对于团队协作尤为重要. ...
- git学习手册
#git学习手册 git: Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux内核开发而 ...
- Git学习笔记(10)——搭建Git服务器
本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...
- Git学习笔记(四)
一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...
- git 学习笔记6--remote & log
git 学习笔记6--remote & log 创建SSH Keys ssh-keygen -t rsa -C "1050244110@qq.com" 本地关联远程 git ...
- Git学习(4)基本操作
1.版本提交 首先,接着上个Git学习(3)继续 我们先修改test.txt文本内容,增加一些信息进去,然后保存: Add a new data 第一步:运行命令 git status 命令查看文件是 ...
- git学习(这个我没有整理,是我不断在学习的过程中,自己总结的,对象是我,不过有问题的,我们可以相互交流)
每次git提交,都会有一个parent指针,指向上一次的commit , 如果合并,master就和hotfix河道一起,就直接删除hotfix就OK 此时,虽然操作一样,大底层实现不一样 ...
- git学习笔记01-git最基本的工作原理分布式
git学习的网站 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 --廖雪峰老师 ...
随机推荐
- 获取用户SID
BOOL GetUserSID(CString &Sid) { HANDLE hProcess = GetCurrentProcess(); if (hProcess) { HANDLE hT ...
- 开源任务管理平台TaskManagerV2.0介绍及升级说明
上一篇开源任务管理平台TaskManager介绍发布后,有网友联系我看看能不能做个后台管理界面,方便管理系统中所有的任务.由于时间和技术问题1.0版本的时候,新增了一个3分钟读取配置文件动态修改任务的 ...
- 对.net技术组件的分析和选择
.net很庞杂,学习最忌讳什么?为了学而学,而不是为了用而学.我们不是为了成为教师,所以不要成为书呆子,不要成为"博士",要从庞杂的技术群中选择自己需要的内容进行学习. 如果不加选 ...
- 79 umount-卸除目前挂在Linux目录中的文件系统
Linux umount命令用于卸除文件系统. umount可卸除目前挂在Linux目录中的文件系统. 语法 umount [-ahnrvV][-t <文件系统类型>][文件系统] 参数: ...
- java 内部类与外部类的区别
最近在看Java相关知识的时候发现Java中同时存在内部类以及非公有类概念,而且这两个类都可以不需要单独的文件编写,可以与其他类共用一个文件.现根据个人总结将两者的异同点总结如下,如有什么不当地方,欢 ...
- 纯CSS实现图片水平垂直居中于DIV(图片未知宽高)
<div class="demo"><a href="#"><img src="http://nec.netease.c ...
- js精确加减乘除
//加法函数function accAdd(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split(".")[1 ...
- [转]struts2处理.do后缀的请求
原文地址:http://skyuck.iteye.com/blog/545988 默认情况下,struts2是无法处理以.do为后缀的请求url的(默认情况下是.action或者不填,可以参见org. ...
- Mac上更新Ruby
因为准备在项目中使用bootstrap,在安装bootstrap过程中提示需要Ruby的版本在1.9.2以上,而目前使用的Ruby版本是Mac系统自带的1.8.7.所以需要对Ruby进行升级.这里使用 ...
- Mysql 视图 游标 触发器 存储过程 事务
Mysql 视图 触发器 存储过程 游标 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中 ...