第3课:Git操作

Git操作分为命令行和图形界面,我想大部分还是喜欢图形界面,喜欢命令行的也不用我教的,居然可以记住那么多命令,还有什么做不到的?

下面就以TortoseGit为例来说明如何使用
1.创建仓库。你要管理项目代码,总得有个地方存吧
第一步先创建一个文件夹在本地,比如叫test,然后进入这个目录,鼠标右键,选择Git Create repository here...,如图一所示,一路确定
然后发现这个目录会出现一个.git的隐藏文件夹,这个文件夹不用动,用于版本控制的。至此,仓库就创建完成了

2.clone项目,如果你有一个项目已经提交到git现在只是想把整个项目check out下来,鼠标右键,选择Git Clone...
弹出图二所示窗口,url处写项目地址,点击ok即可
这里要注意的是:
git提交方式有多种,主要为https和ssh
https很容易理解,url直接是https://开头的地址
如果使用ssh提交,一般为 git@github.com:zhimengzhe/iBarn.git 这样格式的地址,而且用ssh提交,还有一个很重要的一项,要设置密码
后面章节会详细讲,主要操作是用Puttygen生成key,注意生成key之后不要立即关闭窗口,设置完毕再关闭

3.提交项目
git和svn不同,svn提交之后就结束了,而git的提交只是提交到本地,提交之后才能push到master,也就是说比svn多了一步
鼠标右键选择 Git Commit -> "master" ... 直接提交
如果文件是新建的,提交之前还要多加一步操作,鼠标右键选择TortoseGit接着选Add添加文件,之后再提交

4.推送项目
推送就是git中的push命令,这一步实现把代码推送到远端在线仓库,只有完成这一步,才算真正提交完成
上一步结束之后,会接着弹出一个push框,选择push 点ok即可,如果第三步完成之后没有push
鼠标右键选择TortoseGit接着选push 按提示操作即可

5.fetch pull项目
这个相当于svn中的update操作,用仓库的代码更新本地的代码
操作也很简单,鼠标右键选择TortoseGit接着选pull或者fetch 按提示操作即可

这里要说的是pull和fetch的区别
git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git pull:相当于是从远程获取最新版本并merge到本地

6.常见问题
push/pull git did not exit cleanly
解决办法:
鼠标右键 -> TortoiseGit -> Settings -> Network
下面有一个选择ssh执行文件的框Git\bin\ssh.exe
改成TortoiseGit\bin\TortoisePlink.exe
或者互相改一次,多尝试下

图一:

图二: