Git学习使用之旅

Git学习使用之旅

一、前言

以前版本管理工具只用过SVN,对Git仅有所耳闻但未曾用过。直到前两天收到360实习生的在线面试题目,题目发布在github上,要求我也把答案也提交到github上去,顿时觉得书到用时方恨少!随后花了几个小时熟悉了github的基本操作完成了题目,但是只用的是Git的图形界面的基本功能,今天把之前学的总结下,也把命令行下的操作方法也学学。

二、Windows下图形化客户端

这里用到了TortoiseGit。

先安装msysgit再安装TortoiseGit,前者是Git for Windows,后者是Windows Shell Interface to Git。

安装使用方法有:github上大神的教程

使用过程中遇到的问题是每次提交都要输入用户名和密码,比较麻烦。

解决办法是设置SSH key。

在本地用TortoiseGit自带的Puttygen工具生成一对公钥和私钥,公钥复制到你的GitHub网站设置中,私钥存在本地电脑里。具体用法上面那个教程里也有说明。

三、Linux下命令行

1.安装+配置

先安装git,我的CentOS自身已经集成了~

Linux下命令行连接GitHub貌似必须使用SSH key,因为是采取SSH与GitHub连接的,不设置的话会出现Permission denied错误。

用下面的命令测试是否连接成功:

ssh -T git@github.com

若不成功,执行下面生成SSH key,然后将id_rsa.pub文件内容复制到GitHub账户设置里去:

ssh-keygen -t rsa

这里我遇到的问题是设置后出错:Agent admitted failure to sign using the key 解决办法是用ssh-add命令把私钥文件添加进去: ssh-add ~/.ssh/id_rsa

2.操作

其他常用命令这个网站写的好清楚啊!:git - 简明指南

大致有:

设置Git全局用户配置

git config --global user.name "your_name"  
git config --global user.email "your_email"

创建本地仓库

git init

克隆仓库

git clone <SSH clone URL>

添加/删除文件到本地暂存区

git add/rm <filename>

提交到本地HEAD

git commit -m "代码提交信息"

定义远程服务器别名origin

git remote add origin git@github.com:***/new-project.git

推送改动

git push origin master

拉取改动

git pull

附:ProGit--git官方教程中文版

这篇博客总结的也挺好:http://blog.csdn.net/ithomer/article/details/7529022

四、结尾

这次写博客尝试用MarkDown来编辑,的确挺不错的一个编辑工具,这里是一个在线MarkDown编辑器,还有个一客户端MarkdownPad。 之前很少写公开的博客(都是在自己电脑上记笔记),以后有空要多来写写!;)

后续:

错误:error: Untracked working tree file 'xxx' would be overwritten by merge.的解决办法:

  1. git reset --hard HEAD  
  2. git clean -f -d  
  3. git pull  
posted @ 2014-03-24 17:11  任者  阅读(172)  评论(0编辑  收藏  举报