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. [技巧.Dotnet]轻松实现“强制.net程序以管理员身份运行”。

    使用场景: 程序中不少操作都需要特殊权限,有时为了方便,直接让程序以管理员方式运行. (在商业软件中,其实应该尽量避免以管理员身份运行.在安装或配置时,提前授予将相应权限.) 做法: 以C#项目为例: ...

  2. export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH

    如题,临时修改程序运行时动态库的搜索路径,平时经常会用到,记录之!

  3. PHP array_multisort—对多个数组或多维数组进行排序

    PHP中array_multisort可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 输入数组被当成一个表的列并以 ...

  4. The import java.io cannot be resolved

    在导入一个新项目后出现 The import java.io cannot be resolved.String cannot be resolved to a type 解决: 将JRE Syste ...

  5. javascript中关于深复制与浅复制的问题

    在javascript中,变量的类型分为基本类型和引用类型. 对于基本类型的变量来说,值的复制以及作为函数参数实参传递的过程都是值的复制传递,换句话说,是会在内存中开辟出一个新空间用于存放新的值的.这 ...

  6. DbExpressionBinding requires an input expression with a collection ResultType. 参数名: input

    使用linq多表连接遇到的问题: 解决方案:注释为出错代码,更改使用GroupBy解决问题 context.ERG_TipOffsInfo.GroupBy(x => x.Data,(Data,C ...

  7. OD使用教程11

    首先把安装好的软件拖入PEID,看看它是用什么语言写的    然后用OD载入程序,查找关键字,步骤看上一个笔记 双击到达代码处,发现这在一个跳转里面.可能第一反应是修改跳转,经试验后发现这是没用的所以 ...

  8. KMP详解

    原文: http://blog.csdn.net/v_july_v/article/details/7041827 从头到尾彻底理解KMP 1. 引言 本KMP原文最初写于2年多前的2011年12月, ...

  9. swift基础语法(四) 函数、闭包(Closures)

    //函数基本定义 func 函数名(参数名:参数类型=默认值) ->返回值类型{代码块} //无参无返回值函数 func hsmin(){ } //单参无返回值函数 func prin(st:S ...

  10. CI框架中怎么传递大数据给PHP?

    CI中怎么将HTML页面中的大数据(如富文本)通过CONTROLLER传递给MODEL中的函数?难道还是通过构造链接的形式传递吗?求指点.