0%

Git简明学习手册

博客又很久没有更新了,寒假时师兄说即便感觉没有东西要写也要尽量逼自己每天更新一篇。感觉这样确实能每天都能让自己学到一些东西。

Git在之前有稍微接触过,不过当时是用来把GitHub当做blog来使用(Octopress),没有多尝试Git的版本控制功能,当时感觉它要比SVN、VSS要复杂。

前一阵子自己又认真学习了一下Git,其实还是很简单很方便的,在Windows下msysGit和TortoiseGit配合使用,既可以使用命令行来玩耍,也很有TortoiseSVN的感觉~当然也很方便。

Git的本地仓库和分支真的要给32个赞,自己写点东西再也不用找服务器搭SVN了,而且可以push到GitHub上备份。不过GitHub上免费账户的仓库都是公开的,找到了一个Bitbucket,免费账户可以建无限个私人仓库,还可以建立一个5人的团队来在私有仓库下开发。

言归正传,教程如下,另外,这里有个不错的小教程:http://rogerdudler.github.io/git-guide/index.zh.html

常用命令: * git init //在当前目录下初始化仓库 * git add readme.txt //添加到index * git commit -m “这是注释” //提交 * git status //查看状态 * git branch //查看分支 * git branch test //新建分支 * git branch -d test //删除分支test,git branch -D test为强制删除 * git checkout test //切换到分支test * get merge test //将test分支合并到当前分支

软件

Windows:msysGit(http://msysgit.github.io/)、TortoiseGit

设置

1
2
git config –-global user.name “Your Name” 
git config –-global user.email “Your Email”

本地解决冲突

merge后若有冲突,修改冲突文件后,git add后即算为解决

GitHub远程仓库

1.使用Git Gui或者命令行,输入密码后生成本地的SSH密钥,并将密钥添加到GitHub账户的profile里面去。

命令行:ssh-keygen -t rsa -C “email@email.com”

邮箱务必改为GitHub账户邮箱,文件保存路径使用默认即可。

2.ssh -T git@github.com 尝试连接GitHub

1
2
//克隆远程仓库 
git clone username@host:/path/to/repository
1
2
//将本地仓库的内容推送到远程仓库下的master分支,origin是默认的远程仓库别名 
git push origin master
1
2
//如果还没有克隆现有仓库,并欲将本地仓库连接到某个远程服务器,可以使用如下命令添加 
git remote add origin <server>
1
2
3
//从远程获取master分支的最新版本到本地的origin/master分支 
git fetch origin master
git merge origin/master //将origin/master分支合并到当前分支
1
2
//从远程获取最新版本并merge到本地当前分支 
git pull origin master
1
2
//重命名远程仓库 
git remote rename origin ongithub
1
2
//删除远程仓库 
git remote rm origin

小技巧

1
2
//还原文件,替换本地改动
git checkout — readme.txt
1
2
3
//假如想丢弃在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将本地主分支指向它
git fetch origin
git reset –hard origin/master