`
xinklabi
  • 浏览: 1559091 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

github简单使用教程(转)(开源代码管理& 分布式版本控制系统)

 
阅读更多

github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O~。下面是我总结的一些简单使用方法,供初学者参考。

1.注册账户以及创建仓库

要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。

2.安装客户端msysgit

github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用msysgit,这个只是提供了git的核心功能,而且是基于命令行的。如果想要图形界面的话只要在msysgit的基础上安装TortoiseGit即可。

装完msysgit后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here,会多出来一个.git文件夹,这就表示本地git创建成功。右键Git Bash进入git命令行,为了把本地的仓库传到github,还需要配置ssh key。

3.配置Git

首先在本地创建ssh key;

1
$ ssh-keygen -t rsa -C "your_email@youremail.com"

后面的your_email@youremail.com改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。

回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入:

1
$ ssh -T git@github.com

如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。

1
2
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"

进入要上传的仓库,右键git bash,添加远程地址:

1
$ git remote add origin git@github.com:yourName/yourRepo.git

后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

4.提交、上传

接下来在本地仓库里添加一些文件,比如README,

1
2
$ git add README
$ git commit -m "first commit"

上传到github:

1
$ git push origin master

git push命令会将本地仓库推送到远程服务器。
git pull命令则相反。

修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来智能添加文件。之后git commit提交本次修改,git push上传到github。

5.gitignore文件

.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add -A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。比如一般c#的项目我的.gitignore是这样写的:

1
2
3
bin
*.suo
obj

bin和obj是编译目录,里面都不是源代码,忽略;suo文件是vs2010的配置文件,不需要。这样你在git status的时候就只会看到源代码文件了,就可以放心的git add -A了。

6.tag

我们可以创建一个tag来指向软件开发中的一个关键时期,比如版本号更新的时候可以建一个“v2.0”、“v3.1”之类的标签,这样在以后回顾的时候会比较方便。tag的使用很简单,主要操作有:查看tag、创建tag、验证tag以及共享tag。

6.1查看tag

列出所有tag:

1
git tag

这样列出的tag是按字母排序的,和创建时间没关系。如果只是想查看某些tag的话,可以加限定:

1
git tag -l v1.*

这样就只会列出1.几的版本。

6.2创建tag

创建轻量级tag:

1
git tag v1.0

这样创建的tag没有附带其他信息,与之相应的是带信息的tag:

1
git tag -a v1.0 -m 'first version'

-m后面带的就是注释信息,这样在日后查看的时候会很有用,这种是普通tag,还有一种有签名的tag:

1
git tag -s v1.0 -m 'first version'

前提是你有GPG私钥,把上面的a换成s就行了。除了可以为当前的进度添加tag,我们还可以为以前的commit添加tag:

1
2
3
4
5
#首先查看以前的commit
git log --oneline
#假如有这样一个commit:8a5cbc2 updated readme
#这样为他添加tag
git tag -a v1.1 8a5cbc2

6.3删除tag

很简单,知道tag名称后:

1
git tag -d v1.0

6.4验证tag

如果你有GPG私钥的话就可以验证tag:

1
git tag -v v1.0

6.5共享tag

我们在执行git push的时候,tag是不会上传到服务器的,比如现在的github,创建tag后git push,在github网页上是看不到tag的,为了共享这些tag,你必须这样:

1
git push origin --tags
作者:wuyuan
本文来自Wuyuan's Blog 转载请注明,谢谢!
文章地址: http://wuyuans.com/2012/05/github-simple-tutorial/
分享到:
评论

相关推荐

    开源分布式版本控制系统GIT视频.zip

    版本控制系统简介.mp4 git-day02 git分支合并.mp4 git标签使用.mp4 运维工作职责.mp4 gitlab.mp4 gitlab安装及使用-上午.mp4 gitlab_jenkins 01-gitlab备份和恢复.mp4 02-jenkins和插件的安装.mp4 03-从gitlab获取...

    Git 配置、合并、多人协作、使用手册

    但BitMover公司看中Linux开源精神,免费授权给Linux社区使用,在2002年时,Linux开始使用BitKeeper分布式版本控制系统管理源代码,但好景不长,有一天Linux社区成员Andrew(samba(局域网共享文件c/s程序)的作者)...

    版本控制工具Git 32位与64位安装包

    Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Torvalds 开始着手开发 Git ...

    详解androidstudio项目上传到github方法以及步骤

    github作为开源代码库以及版本控制系统,它是一个网站,给用户提供git服务.这样你就不用自己部署git系统直接注册个账号,就可以用他们提供的git服务。GitHub可以托管各种git库,并提供一个web界面,Git

    “ 官网 ”最新版-《Git-2.34.1-64-bit.exe》

    Git 是一个免费和开源的分布式版本控制系统,旨在以速度和效率处理从小型到大型项目的所有内容。 Git易于学习, 占用空间小,性能快如闪电。它优于 SCM 工具,如 Subversion、CVS、Perforce。 Git 与常用的版本控制...

    Git-2.27.0-64-bit

    Git-2.27.0-64-bit是一款开源的分布式版本控制系统,用以有效、高速地处理从很小到非常大的项目版本管理。它是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。通过Git,用户可以管理...

    python学习Git.txt

    git是一个开源的分布式版本控制系统,可用于高效的管理大小项目。 分布式和集中式 分布式: 每个节点都保存完成的代码,没有明确的中央服务器,节点之间项目推送下载代码完成代码共享 集中式: 代码集中管理,...

    Git基础操作

    Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。本教程讲了git的一些基本操作,如以下功能: 1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 2、在自己...

    git介绍以及常用命令

    Git是一种分布式版本控制系统,由Linus Torvalds于2005年创建。它最初是为Linux内核而开发的,但现在已经成为开源软件中最流行的版本控制系统之一。Git的主要特点是极其高效和灵活,它能够轻松管理和跟踪您的代码,...

    积分管理系统java源码-homework:这是我的作业

    Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 3. 学习github的5个理由 有很多大牛出没。 可以接触到最新最前沿软件产品。 基于git版本控制过程,可以学到开发,编程语言等技术,...

    Git-2.33.0.2-64-bit

    Git是一种非常流行的分布式源代码版本控制系统,它和其他版本控制系统的主要差别在于Git只关心文件数据的整体是否发生变化,而大多数版本其他系统只关心文件内容的具体差异。 Git另一个特性是分布式,远程服务器...

    JAVA上百实例源码以及开源项目源代码

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    github-grundlagen-mmithoefer:GitHub Classroom创建的github-grundlagen-mmithoefer

    Git和GitHub Git是一个分布式版本控制系统(VCS),可在您从事新软件开发项目时帮助跟踪更改。 Git会跟踪您所做的更改,因此您始终可以记录所做的工作,并且可以根据需要轻松地还原到旧版本的代码。 这也使与其他人...

    intro-to-github-amanialmutairi:GitHub Classroom创建的github-amanialmutairi简介

    Git和GitHub Git是一个分布式版本控制系统(VCS),可在您从事新软件开发项目时帮助跟踪更改。 Git会跟踪您所做的更改,因此您始终可以记录所做的工作,并且可以根据需要轻松地还原到旧版本的代码。 这也使与其他人...

    github-fundamentals-emasp2001:GitHub Classroom创建的github-fundamentals-emasp2001

    Git和GitHub Git是一个分布式版本控制系统(VCS),可在您从事新软件开发项目时帮助跟踪更改。 Git会跟踪您所做的更改,因此您始终可以记录所做的工作,并且可以根据需要轻松地还原到旧版本的代码。 这也使与其他人...

    Git和GitHub:从入门到实践,第1部分Git和GitHub基础简介

    Git是目前业界最流行的版本控制系统(VersionControlSystem),而GitHub是开源代码托管平台的翘楚。越来越多的从业者、从业团队以及开源贡献者首选二者用于管理项目代码。本文首先从概念的角度介绍版本控制系统、Git...

    git-github-fundamentals-harshasanku:git-github-fundamentals-harshasanku由GitHub Classroom创建

    Git和GitHub Git是一个分布式版本控制系统(VCS),可在您从事新软件开发项目时帮助跟踪更改。 Git会跟踪您所做的更改,因此您始终可以记录所做的工作,并且可以根据需要轻松地还原到旧版本的代码。 这也使与其他人...

    git-github-fundamentals-MAriusvoe:GitHub Classroom创建的git-github-fundamentals-MAriusvoe

    Git和GitHub Git是一个分布式版本控制系统(VCS),可在您从事新软件开发项目时帮助跟踪更改。 Git会跟踪您所做的更改,因此您始终可以记录所做的工作,并且可以根据需要轻松地还原到旧版本的代码。 这也使与其他人...

    git-github-fundamentals-shivasaiD:git-github-fundamentals-shivasaiD由GitHub Classroom创建

    Git和GitHub Git是一个分布式版本控制系统(VCS),可在您从事新软件开发项目时帮助跟踪更改。 Git会跟踪您所做的更改,因此您始终可以记录所做的工作,并且可以根据需要轻松地还原到旧版本的代码。 这也使与其他人...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

Global site tag (gtag.js) - Google Analytics