你的位置:首页 > ASP.net教程

[ASP.net教程]GitHub使用教程


http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000

http://www.cnblogs.com/fnng/archive/2011/08/25/2153807.html 

 1. 简介

  Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。

  GitHub for Windows 是一个 Metro 风格应用程序,集成了自包含版本的 Git,bash 命令行 shell,PowerShell 的 posh-git 扩展。GitHub 为 Windows 用户提供了一个基本的图形前端去处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在本地和远程版本库之间同步。微软也通过CodePlex向开发者提供 git 版本控制系统,而 GitHub 创造了一个更具有吸引力的 Windows 版本。

  

  2.  安装

  安装比较简单,一路next即可,其中有两个地方需要注意一下。

  1)Git Bash是指git安装好之后,有一个专用的命令行工具(开始->Git->Git Bash),像cmd一样,它可以执行一些linux上的命令,方便操作。但在windows上,不能复制粘贴,不太好用。所以我们在安装的时候出现如下安装过程时一般会选择第2项或第3项,在windows的cmd上直接运行git命令。


  2)让我们选择如何处理文本文件中的选行符。git考虑到合作者可能在不同的操作系统下,如windows下使用\r\n,linux下使用\n,mac下使用\r。为了既能保证服务器上的代码使用相同的换行符,在各自的电脑上又能使用各自的换行符,所以有三种处理方式:

下载时把换行符变成\r\n,提交时变成\n

下载时不转换,提交时变成\n

下载和提交时都不处理

作为windows用户,我们应该选择第一项。


 

  3.常用命令

$ mkdir learngit$ cd learngit$ pwd/Users/michael/learngit

$ git initInitialized empty Git repository in /Users/michael/learngit/.git/

$ git add readme.txt

$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt

$ git add file1.txt$ git add file2.txt file3.txt$ git commit -m "add 3 files."
$ git status
$ git diff readme.txt
$ git commit -m "add distributed"
$ git log

$ git log --pretty=oneline
$ git reset --hard HEAD^
$ cat readme.txt
$ git reset --hard 3628164
$ git reflog

$ git checkout -- readme.txt
$ git reset HEAD readme.txt

$ rm test.txt
$ git rm test.txtrm 'test.txt'$ git commit -m "remove test.txt"
$ git checkout -- test.txt
$ ssh-keygen -t rsa -C "youremail@example.com"

$ git remote rm origin
$ git pull origin master 
$ git remote add origin git@github.com:ZYNewStart/FirstGit.git
$ git push -u origin master

$ git clone git@github.com:michaelliao/gitskills.git


 要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!

 
 
 
 
 
 
 
 
 

 

4.错误解决方法

1)在执行

$ git remote addorigin git@github.com:defnngj/hello-world.git

错误提示:fatal: remote origin already exists.

解决办法:

$ git remote rm origin

然后在执行:$ git remote add origin git@github.com:defnngj/hello-world.git 就不会报错误了

 

2) 在执行

$ git push origin master

错误提示:error:failed to push som refs to.......

解决办法:

$ git pull origin master // 先把远程服务器github上面的文件拉下来,再push 上去。