testMarkDown
title: git常用命令
date: 2015-10-27 10:28:25
categories:
- git
tags: git
添加 SSH 公钥
Windows 平台中,可以使用 Git Bash 工具
进入 SSH 目录
mkdir ~/.ssh
cd ~/.ssh
生成 SSH 密钥
ssh-keygen -t rsa -C "yangzhi@zhim.net.cn"
Enter passphrase ( empty for no passphrase ) : 时,可以直接按两次回车键输入一个空的 passphrase;也可以选择输入一个 passphrase 口令。(空)
SSH 目录下生成私钥 id_rsa 和公钥 id_rsa.pub 这两个文件。
获取SSH公钥信息
查看生成的公钥信息
cat id_rsa.pub
添加 SSH 公钥到 GitCafe
打开 GitCafe 网站,进入 账户设置 –> SSH 公钥管理 设置项,点击 添加新公钥 按钮。
名称 为公司电脑/家里电脑等随意名称。
公钥 为id_rsa.pub里面的内容。
测试 GitCafe SSH 连接
完成上面的操作后,可以通过下面的命令来测试一下是否可以连接 GitCafe 服务器。
ssh -T git@gitcafe.com
如果你操作的电脑是第一次与 GitCafe 建立连接,会出现以下警告,
The authenticity of host 'gitcafe.com (50.116.2.223)' can't be established.
#RSA key fingerprint is 84:9e:c9:8e:7f:36:28:08:7e:13:bf:43:12:74:11:4e.
#Are you sure you want to continue connecting (yes/no)?
输入 yes 后回车。此时,如果你在生成 SSH 密钥时设置了 passphrase 口令,会提示你输入口令,输入后回车即可。
最后,如果你看到以下信息,说明连接成功。
Hi USERNAME! You've successfully authenticated, but GitCafe does not provide shell access.
git常用命令
全局设置:
git config --global user.name 'zhim'
git config --global user.email 'yangzhi@zhim.net.cn'
接下来本地:
您可以在本地创建新的 Git 仓库
#gitcafe.net上创建项目名称 gitabc
mkdir gitabc
cd gitabc
git init
git remote add origin 'git@git.oschina.net:xxxx/gitabc.git'
git pull origin master
git add -A #添加所有文件
git commit -m 'first commit'
git push origin master
添加 GitCafe 远程仓库(origin(起源) 是默认的远程版本库名称)
git remote add origin 'git@gitcafe.com:xxxx/gitabc.git'
git remote add origin 'git@git.oschina.net:xxxx/gitabc.git'
删除 GitCafe 远程仓库 (git remote rm origin)
将master分支更新的本地 git pull origin master
bash下代码提交过程
提交代码到本地库
代码修改后,直接git add -A
,git commit -m "ss"
,提交代码到本地库;提交代码到远程库
1) 先更新代码到本地,直接git pull origin master
;
2) git status,查看状态,若无冲突,git push origin master
,若有冲突,请看3);
3) 有冲突,git diff,查看冲突文件,手动修改文件,然后git add -A
,git commit -m "ss"
,git push origin master
。
分支相关
提交到远程库的master分支 git push -u origin master
创建分支: $ git branch gitcafe-pages(拷贝当前分支内容到新的分支)
切换分支: $ git checkout gitcafe-pages
创建并切换分支: $ git checkout -b gitcafe-pages
提交代码到gitcafe-pages分支
git push origin gitcafe-pages
删除分支: $ git branch -d mybranch
强制删除分支: $ git branch -D mybranch
列出所有分支: $ git branch
合并分支:$ git merge branchname
这个命令把分支"branchname"合并到了当前分支里面。
git 放弃本地修改 强制更新
git fetch --all
git reset --hard origin/master
#git fetch 只是下载远程的库的内容,不做任何的合并 git reset 把HEAD指向刚刚下载的最新的版本
查看工作区的状态
要随时掌握工作区的状态,使用git status
命令。
如果git status告诉你有文件被修改过,用git diff
可以查看修改内容。
eclipse插件使用
代码提交过程:先提交到本地,然后远程更新到本地,最后提交到远程。
命令说明
更新
Fetch from upstream 远程服务器 --> 本地服务器
Pull 远程服务器 --> 本地服务器 --> 本地代码提交
commit but not push 修改代码 --> 本地代码
commit and push 修改代码 --> 本地代码 --> 远程代码
eclipse下代码提交过程
提交代码到本地库
代码修改后,直接COMMIT BUT NOT PUSH,提交代码到本地库(会出现向上箭头);提交代码到远程库
1) 同步代码
2) 同步后,若无冲突,直接PULL(图标),然后右键项目PUSH(图标);
3) 同步后,若有冲突,右键项目,直接PULL(图标)代码远程代码到本地(本地代码必须先commit),在本地修改冲突代码,然后右键项目 add to git index ,PUSH(图标)。
相关资源
[1] [猴子都能懂得git入门](http://backlogtool.com/git-guide/cn/intro/intro1_1.html)
[2] [git.oschina.net手机端下载](http://git.oschina.net/appclient)
[3] 权威Git书籍ProGit(中文版),新手老鸟均适合
[4] [廖雪峰的官方网站](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
testMarkDown的更多相关文章
- SimpleMDE编辑器 + 提取HTML + 美化输出
开发步骤: 1. 安装和引入(npm或者bower都可以) $ bower install simplemde --save //css - debug目录下为开发版本 <link rel=&q ...
随机推荐
- python-mysqldb安装
出现错误 command 'gcc' failed with exit status 1 解决办法: yum install python-devel mysql-devel zlib-devel ...
- JavaWeb 学习008-今日问题(非空验证尚未解决) 2016-12-2
1. 学生模块list页面 不能正常跳转 说是找不到stuid属性,但是我在entity里面和数据库建表的属性就是stuid:Grade模块代码一样,却可以正常运行 这是什么问题? <c:for ...
- 实现type函数用于识别标准类型和内置对象类型
function type(obj){ return Object.prototype.toString.call(obj).slice(8,-1); } var t=type(new Number( ...
- Android进程间的通信之Messenger
Android进程间的通信方式可以通过以下两种方式完成: Android接口定义语言(AIDL) 使用Messenger绑定服务 本文我们将学习使用Messenger绑定服务的方式进行进程间的通信. ...
- 基类用的this指针
结论:基类构造函数中的this指针指向的是派生类的对象 测试代码: #include <iostream> using namespace std; class father; fathe ...
- ASP.NET中的XML和JSON
一.DOM简介 1.XML 定义:XML是一种跨语言.跨平台的数据储存格式 2.什么是DOM DOM(document object model)文档对象模型:是一种允许程序或脚本动态的访问更新文档内 ...
- M2事后分析汇报总结
学霸网站项目Postmortem结果 M2之于M1的改进 文档和问答的整合 完成webservice 完成数据库触发器设计与完整性约束依赖(大规模) 优化学霸UI 资源的搜索 外部问题的搜索 文档的上 ...
- Ajax提交与传统表单提交的区别说明
Ajax提交是通过js来提交请求,请求与响应均由js引擎来处理,页面不会刷新,用户感觉不到实际上浏览器发出了请求.比如说我们希望网页总是显示最新的新闻,而又不想老是去点刷新按钮,我们就可以用Ajax机 ...
- Android手机编程初学遇到的问题及解决方法
对高手来讲不值一提,可是对我这个初学来讲却是因为这些问题费了老长时间,有的不是编程问题,但不注意也会浪费不少宝贵时间!随时遇到随时更新... 引入第三方类库的问题,开始引用后没什么问题,但发现了该类库 ...
- 菜单的隐藏&显示
//还是先上万一老师的原代码 //隐藏与显示菜单Self.Menu := nil; {隐藏菜单} Self.Menu := MainMenu1; {显示菜单} //初一看到代码,我有点抓不到感觉的意思 ...