linux下git与github简单使用

生成公钥
在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

则使用 linux


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文件中的 git


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


这里应该是随便配置用户名和邮箱均可以,这个事方便你们联系

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

提交并评论 github


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以后能够使用 shell


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代替回滚   ssh



永久删除不当心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/
相关文章
相关标签/搜索