文档章节

linux下git与github简单使用

AARON_RZH
 AARON_RZH
发布于 2013/04/29 00:10
字数 587
阅读 3586
收藏 25
生成公钥
在linux上有一个ssh-keygen的工具,使用命令
ssh-keygen -t rsa -C "committer_email@committermail.com"

设定存放目录和密码后把.ssh/id_rsa.pub的文件内容粘贴进github的test仓库里。
测试是否成功
ssh -T git@github.com

如果出现
引用
Agent admitted failure to sign using the key

则使用


ssh-add id_rsa


并输入passphrase

在本机安装git
apt-get install git

配置用户名和邮箱
git config --global user.name 'The Name'  
git config --global user.email anyemail@mail.com

这个等效与home下.gitconfig文件中的


[user]                                                                            
    >---name = LZY under Ubuntu with Hasee  
    >---email = luozhaoyu90@gmail.com


这里应该是随便配置用户名和邮箱都可以,这个事方便大家联系

成功后变在本机创建一个git仓库。
git init
在远程初始一个git仓库
git --bare init
新建一个文件夹test_git,在里面添加若干文件
git add *

提交并评论


git commit -m 'your comment'


设置github的仓库地址并取名为origin(可能可以取其它名字?)
git remote add origin git@github.com:luozhaoyu/test.git
最后把master提交到origin服务器上
git push origin master

复制一个git项目
git clone git://github.com/luozhaoyu/test.git
更新项目
git pull

创建一个分支

git init之后默认的分支叫做master,在commit之后可以使用


git branch


查看现在所在的branch分支
git branch newbranchname  

创建一个新分支

git checkout branchname

切换到其它分支OOXX

回滚刚才的操作
回滚有两种方法,一种是留痕迹的git revert
git revert cc3a9d3a5820b16bca3c1761efb5885b90371e94

这是通过又一次的commit中和之前不要的commit达到回滚的目的。所以revert后面跟着的commit-ish就是需要被回滚的那次commit的值

另一种是不留痕迹的,也就是时光机

git reset d5bb1731bf32fb62dc7eedc573da41fa31e27151 --hard
直接回到commit-ish那时的状态,之后发生了什么都不会出现在commit log里


建议使用checkout + merge代替回滚  



永久删除不小心commit的文件
https://help.github.com/articles/remove-sensitive-data

git filter-branch --index-filter 'git rm --cached --ignore-unmatch FOLDER/*' --prune-empty --tag-name-filter cat -- --all  
git push origin master --force  
# 完成上一步就以及删除了文件历史,注意要往每一个分支push,可以使用--all --tags  
# 下面是在本地删除多余文件  
rm -rf .git/refs/original/  
git reflog expire --expire=now --all  
git gc --prune=now  
git gc --aggressive --prune=now

一个github命令学习网站
http://pcottle.github.com/learnGitBranching/

本文转载自:http://luozhaoyu.iteye.com/blog/1461705

共有 人打赏支持
上一篇: python学习笔记
下一篇: Linux安装JDK
AARON_RZH
粉丝 1
博文 5
码字总数 74
作品 0
广州
程序员
私信 提问
Windows平台使用TortoiseGit+MSysGit同步项目到Github

Windows平台使用TortoiseGit+MSysGit同步项目到Github 简介Git: Git是一个开源的分布式版本控制系统,用以项目版本管理。与常用的 CVS, SVN等工具不同,它采用了分布式版本库的方式,不必服...

mysky221
2014/11/02
0
0
使用git管理github项目

中文教程 http://progit.org/book/zh/ Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区...

神勇小白鼠
2011/02/20
0
2
三款 Linux 下的 Git 图形客户端

了解这三个 Git 图形客户端工具如何增强你的开发流程。 在 Linux 下工作的人们对 Git 非常熟悉。一个理所当然的原因是,Git 是我们这个星球上最广为人知也是使用最广泛的版本控制工具。不过大...

18%
2018/08/05
0
0
为什么 GitHub 不能托管 Linux Kernel 社区?

不久之前,在一个很好的平台上(maintainerati)和一些十分优秀的维护者聊天时,谈到关于如何扩展真正的大型开源项目,以及 GitHub 如何对项目进行扩展。Linux 内核有一个完全不同的模式,不...

oschina
2017/08/28
924
0
Github使用教程(一)--搭建Github环境

Git是一个分布式的版本控制系统,最初编写用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功。Github目前已经有100多万的开发者,并且对于公共项目的托管免费。Github使得...

大道无形
2014/05/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

移植Modbus到STM32F103(2):移植FreeModbus到usart3并运行示例代码

FreeModbus是Modbus的一个被广泛移植的实现。其源码在github,最新版是1.6。 FreeModbus支持Modbus功能码里的0x01~0x06,0x0F~0x11和0x17,对一些功能比如异常诊断和读事件计数等功能码并没有...

Konstantine
今天
3
0
浅谈神经网络(神经网络篇)

背景 之前写过浅谈神经网络基础篇,简单介绍下机器学习这块内容,用于扫盲。本文正式将神经网络,这部分是深度学习的基础。了解完可以掌握强大的机器学习的方法,也可以更好的了解深度学习。...

Uknowzheng
今天
3
0
移动硬盘变为RAW格式后的修复

在Mac上使用自己的移动硬盘结果文件系统格式变为RAW; 在自己windows笔记本上使用chkdsk H: /F进行修复,修复日志如下: C:\Users\mengzhang6>chkdsk H: /F文件系统的类型是 NTFS。卷标是 do...

晨猫
今天
3
0
10 Git —— 标签管理

10 Git —— 标签管理 本节内容: 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;命令git......

lwenhao
今天
3
0
小程序设置垂直居中,水平居中

如果子容器中的view需要居中的话,那需要在父容器中设置居中 水平居中: display: flex; flex-direction: column; align-items: center; 垂直居中 display: flex;align-items: cen...

淘幻幻
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部