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的更多相关文章

  1. SimpleMDE编辑器 + 提取HTML + 美化输出

    开发步骤: 1. 安装和引入(npm或者bower都可以) $ bower install simplemde --save //css - debug目录下为开发版本 <link rel=&q ...

随机推荐

  1. python-mysqldb安装

    出现错误  command 'gcc' failed with exit status 1 解决办法: yum install python-devel mysql-devel zlib-devel ...

  2. JavaWeb 学习008-今日问题(非空验证尚未解决) 2016-12-2

    1. 学生模块list页面 不能正常跳转 说是找不到stuid属性,但是我在entity里面和数据库建表的属性就是stuid:Grade模块代码一样,却可以正常运行 这是什么问题? <c:for ...

  3. 实现type函数用于识别标准类型和内置对象类型

    function type(obj){ return Object.prototype.toString.call(obj).slice(8,-1); } var t=type(new Number( ...

  4. Android进程间的通信之Messenger

    Android进程间的通信方式可以通过以下两种方式完成: Android接口定义语言(AIDL) 使用Messenger绑定服务 本文我们将学习使用Messenger绑定服务的方式进行进程间的通信. ...

  5. 基类用的this指针

    结论:基类构造函数中的this指针指向的是派生类的对象 测试代码: #include <iostream> using namespace std; class father; fathe ...

  6. ASP.NET中的XML和JSON

    一.DOM简介 1.XML 定义:XML是一种跨语言.跨平台的数据储存格式 2.什么是DOM DOM(document object model)文档对象模型:是一种允许程序或脚本动态的访问更新文档内 ...

  7. M2事后分析汇报总结

    学霸网站项目Postmortem结果 M2之于M1的改进 文档和问答的整合 完成webservice 完成数据库触发器设计与完整性约束依赖(大规模) 优化学霸UI 资源的搜索 外部问题的搜索 文档的上 ...

  8. Ajax提交与传统表单提交的区别说明

    Ajax提交是通过js来提交请求,请求与响应均由js引擎来处理,页面不会刷新,用户感觉不到实际上浏览器发出了请求.比如说我们希望网页总是显示最新的新闻,而又不想老是去点刷新按钮,我们就可以用Ajax机 ...

  9. Android手机编程初学遇到的问题及解决方法

    对高手来讲不值一提,可是对我这个初学来讲却是因为这些问题费了老长时间,有的不是编程问题,但不注意也会浪费不少宝贵时间!随时遇到随时更新... 引入第三方类库的问题,开始引用后没什么问题,但发现了该类库 ...

  10. 菜单的隐藏&显示

    //还是先上万一老师的原代码 //隐藏与显示菜单Self.Menu := nil; {隐藏菜单} Self.Menu := MainMenu1; {显示菜单} //初一看到代码,我有点抓不到感觉的意思 ...