版权声明:本文为Boyd Wang原创文章,转载时请注明作者及本文链接
本文链接:http://www.boydwang.com/2014/01/git-notes/

首先需要在Ubuntu上安装git客户端,使用命令:

然后去github上注册一个账户

下来需要生成本地ssh-key,使用命令

把xxx换成你自己的邮箱,生成key后会提示你输入保存文件名(例如‘key’),可以留空,之后是密码,也留空,默认会在~/路径下生成.ssh文件夹,里面有id_rsa.pub就是生成的公钥,如果你填了文件名(刚才的‘key’),会在当前路径下生成 key.pub 和 key 两个文件,其中 key.pub 是公钥,key 是私钥。
使用任意文本编辑器打开 key.pub

然后复制里面的内容。

打开github主页,在你的账户Account settings里选择SSH Keys, 点一下右边的 Add SSH key,title随便填,Key里粘贴刚才复制的内容,保存,然后在终端使用如下命令进行测试。

如果你看到Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.说明设置成功。

之后我们开始下代码:
在你想下载代码的github主页右下角找到 HTTPS clone URL,如下图,点击下面的SSH切换到SSH地址。
gitclone

gitclone2

git config


先来设置一下git的相关信息:


把”your name”和”xxx@xxx.com”换成你自己的名字和邮箱,每次提交的时候会用到。
git config有两种level,一种只对当前repo有效,不带--global,另一种全局生效

git config alias.xx checkout

git clone


复制地址,在终端里输入:

之后你就能拿到代码了。

git pull



能够把远程服务器上的变更同步到本地库里,如果有冲突需要merge

git status & git add


在git commit之前,你可以使用

察看当前改动情况,把你需要commit的改动使用

撤销错误的add,此时还没有运行commit(unstage)

添加到要提交的列表里,然后使用

commit到本地代码库上。
git add -A 和 git commit -m ” 可以合并成一条语句

检查无误后,使用

提交到github上就ok了。

git checkout


切换branch

创建一个新的branch并checkout新建的branch

git branch

查看当前本地分支

删除本地分支

git merge

把别的branch上(一般是master)上的变更merge到当前branch。

例如

这里有一点需要注意的,就是merge的是本地branch上的变更,例如你要merge master到当前branch,要确保master是最新的。最好先切换到master上pull一下,然后再进行merge,总结起来就是

把branch上某个改动的文件恢复到未改动版本(即undo)

git reset


放弃整个改动(本地)

强制放弃本地改动,比如在merge别的branch的时候不想merge了

git cherry-pick


选择拿某一次改动到当前branch

git blame


神技-查看文件每一行是由谁在哪次commit中修改的, 按q退出

git show


神技-查看其它branch中的文件

天外飞仙神技-导出其它branch中的文件不切换branch

同步fork

git stash


天外飞仙神技-在有改动的情况下(uncommitted changes)切换branch,并把改动应用到新的branch上

git stash相关命令

放弃本地commit

再提一个.gitignore文件,这个是git检测改动时会忽略文件的列表,把你不需要git检测的文件都添加进去,例如打build生成的obj,bin等文件夹,统统添加进去。你可以自己手动新建一个,放到代码跟目录下就可以了。

参考链接:
【Github教程】史上最全github使用方法:github入门到精通
Git 教程 – Git 基本用法
日常使用 Git 的 19 个建议
Git Cheat Sheet
git stash和git stash pop



打赏
Categories: Ubuntu

Boyd Wang

想给自己贴上各种NB的头衔,NB程序员,NB自由职业者,最后发现自己其实是个Newbie,没办法,慢慢来吧

Leave a Reply

Your email address will not be published. Required fields are marked *

无觅相关文章插件,快速提升流量