github 上传至远程的过程
参考网址:http://luolei.org/dotfiles-tutorial/
http://www.ruanyifeng.com/blog/2014/06/git_remote.html
http://www.cnblogs.com/hzijone/p/4844372.html
https://marklodato.github.io/visual-git-guide/index-zh-cn.html?no-svg
http://mux.alimama.com/posts/799
一次完整的实例操作:
创建公钥:ssh-keygen。将公钥添加到github上
清空git内容,
rm -rf .git git init
git add -A
git commit -m ""
//在github官网上创建react-demos仓库
git remote add origin git@github.com:jundahzijone/react-demos.git
git push origin master
git pull origin master
测试连接github:
ssh -T git@github.com


错误:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
这是因为没有公钥,解决方法:http://blog.sina.com.cn/s/blog_53786db50102e9ma.html
错误:ssh “permissions are too open” error
解决方法: http://stackoverflow.com/questions/9270734/ssh-permissions-are-too-open-error
分支:本地分支与远程分支这两种
查看本地分支
git branch
git 切换本地分支
git checkout '分支名'
删除本地分支
git brach -d '分支名'
新建本地分支
git branch '分支名'
合并分支
git merge [name] ----将名称为[name]的分支与当前分支合并
查看远程分支
git branch -av
git 删除远程分支
git push origin --delete <branchName>
创建远程分支
git push origin '分支名'
git remote
Git要求每个远程主机都必须指定一个主机名。git remote命令就用于管理主机名。
一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令。
远程主机的更新,全部取回本地 : git fetch <远程主机名>
只想取回特定分支的更新,可以指定分支名: git fetch <远程主机名> <分支名>
查看自己仓库的当前分支提交ID的树状图:
git log --graph --oneline
可以查看commit之间的父子关系
git log --pretty=raw
撤消某次提交:
查找版本号:
git log --pretty=oneline
git reflog
回滚版本号:
git reset
-- soft
保留源码,只回退到commit 信息到某个版本.不涉及index(暂存区)的回退,如果还需要提交,直接commit即可
-- hard
源码也会回退到某个版本,commit和index 都回回退到某个版本.(注意,这种方式是改变本地代码仓库源码)
revert 撤消某次操作
查找版本号
git log --pretty=oneline
git reflog
回滚到去除commit:
git revert [version]
查看git log 历史
git log --pretty=format:"%h - %an, %ar : %s"
git log --graph --oneline --pretty=format:"%h - %an, %ar : %s"
获取最近一次修改的文件
git diff --name-only HEAD~ HEAD
获取两次commit修改的文件
git diff --name-only <commit-1> <commit-2>
远程分支路径错误:
git remote rm origin
git remote add <远程分支名> <路径>
分支合并(merge、rebase)
merge:
合并前,索引必须和当前提交相同。
1、如果另一个分支是当前提交的祖父节点,那么合并命令将什么也不做
2、另一种情况是如果当前提交是另一个分支的祖父节点,就导致fast-forward合并。指向只是简单的移动,并生成一个新的提交。
否则就是一次真正的合并。默认把当前提交(ed489 如下所示)和另一个提交(33104)以及他们的共同祖父节点(b325c)进行一次三方合并。结果是先保存当前目录和索引,然后和父节点33104一起做一次新提交。

Rebase:
衍合是合并命令的另一种选择。合并把两个父分支合并进行一次提交,提交历史不是线性的。衍合在当前分支上重演另一个分支的历史,提交历史是线性的
下载指定版本号
git clone -b v1.0.1 https://github.com/named-data/mini-ndn/ -b表示取特定的分支,v1..1指定版本号,后面是github仓库的地址
github 与 SVN 的对比:
个人理解:Git最大的优势在于两点:易于本地增加分支和分布式的特性(日志与提交)
git优势:
1、因为本地有一个仓库,因此可以在本地进行建立多个分支,实现分布式操作
分布式操作的开发人员一般都是开发不同模块,因此不会出现相同文件被修改的情况。
只是要使用另外开发人员所修改的最新内容,而通过分支的切换,则可以跳转到主干的最新内容上
2、在本地建立仓库,主要是实现日志储存在本地,体现分布式思想,减少服务器压力。
而本地仓库与远程仓库的日志是一模一样的。可以在本地先commit多次,再一次git remote push 到远程。
而远程服务器与本地仓库显示的日志内容一样的。
svn: 在本地建立新分支,则只能新建服务器仓库,如果要建立分支创建新的内容,因为代码及日志的提交都是上传到集中服务器上,造成不同分支合并难度大。
github 上传至远程的过程的更多相关文章
- GitHub上传项目到远程库
写文章 GitHub上传项目到远程库 GitHub上传项目到远程库 今天把想把文件托管到GitHub仓库,但是执行一系列的命令以后,刷新GitHub网站还是没有任何更新.后来终于找到原因,原来 ...
- 【不遮遮掩掩】Github上传本地代码以及常见问题解决方案
2019.20.18更新: 把完整命令打一遍吧,不然看完太累了不是 //初始化文件夹 git init //初始化目录,把基本文件下载下来,如ignore文件 git pull --rebase or ...
- github上传本地仓库
前提是你已经有了自己的github账号,并且已经关联了本地和远程的仓库,设置好了ssh密钥.自行百度解决. 上传的主要命令: git init git add . git commit -m &quo ...
- 使用Windows下的git工具往github上传代码 踩坑记录
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...
- 通过git shell 在Github上传本地项目
首先现在github上新建一个库,再进行如下操作,过程不赘述 1.打开git shell 2.cd到项目位置 // cd archives-vue 3.git init 4.Get add ...
- Github上传代码菜鸟超详细教程【转】
最近需要将课设代码上传到Github上,之前只是用来fork别人的代码. 这篇文章写得是windows下的使用方法. 第一步:创建Github新账户 第二步:新建仓库 第三部:填写名称,简介(可选), ...
- 如何使用github上传自己的开源项目教程
注意: 此教程只针对iOS项目,其他项目请参考此网站 http://jingyan.baidu.com/article/b907e627aadbb246e7891cf1.html 首先进入github ...
- 分布式版本控制系统Git-----2.上传至远程仓库之基础版
好,之前已经将文档下载下来了,但是我感觉还是将自己之前截的图放出来比较好,自己整理的,但是总不能放桌面上,时间久了也会忘得,索性放到博客上吧,也便于其他人查看,简直是百利而无一害啊.哈哈.来吧. 注意 ...
- github上传时出现error: src refspec master does not match any解决办法
github上传时出现error: src refspec master does not match any解决办法 这个问题,我之前也遇到过,这次又遇到了只是时间间隔比较长了,为了防止以后再遇到类 ...
随机推荐
- Alpha版本十天冲刺——Day 9
站立式会议 会议总结 队员 今日完成 问题 明日要做 感想 对学长说的话的感受 鲍亮 无 获取图片未解决 获取图片,发帖接口,争取完成此版本预期功能 不知不觉只剩两天时间了,这两天接连遇到发图片,获取 ...
- Docker distrubution in django
https://www.syncano.io/blog/configuring-running-django-celery-docker-containers-pt-1/ Update: Fig ha ...
- JavaWeb---总结(十一)使用Cookie进行会话管理
一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾 ...
- 菜鸟之linux问题之图形界面和dos界面的登录问题
1.安装完linux系统后,图形化界面的用户名和密码是之前安装的时候设置的. 如果想切换到linux的dos窗口快捷键是:ctrl+alt+F2 由dos窗口切换到linux图形界面快捷键是:ctrl ...
- Sublime Text3快捷键汇总
选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并更改所有相同的变量名.函数 ...
- 自然语言7_NLTK中文语料库sinica_treebank
http://www.hankcs.com/program/python/nltk-chinese-corpus-sinica_treebank.html NLTK包含Sinica (中央研究院)提供 ...
- Ubuntu 15.10安装KVM
1.查看cpu是否支持硬件虚拟化 egrep "svm|vmx" /proc/cpuinfo 2.安装KVM apt-get install qemu-kvm virt-manag ...
- PHP mysqli 扩展库(面向对象/数据库操作封装/事务控制/预编译)
1.和mysql扩展库的区别: (1 安全性.稳定性更高 (2 提供了面向对象和面向过程两种风格 2.php.ini 中的 extension=php_mysqli.dll 解除封印 3.面 ...
- yum提示字符编码错误
1.问题描述: [root@localhost data]# yum Loaded plugins: product-id, refresh-packagekit, security, subscri ...
- Redis-cluster集群【第二篇】:redis持久化
Redis持久化原理: Redis支持两种持久化:RDB和AOF模式 一.名词解释: RDB:持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot).AOF ...