目录

Git和Github

基本概念

什么是Git

git是一个分布式版本控制程序,最初由林纳斯·托瓦兹创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。
git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。
git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。

Git实现原理

git和其他版本控制系统(如CVS)有不小的差别,git本身关心文件的整体性是否有改变,但多数的版本控制系统如CVS或Subversion系统则在乎文件内容的差异。git拒绝保持每个文件的版本修订关系。因此查看一个文件的历史需要遍历各个history快照;git隐式处理文件更名,即同名文件默认为其前身,如果没有同名文件则在前一个版本中搜索具有类似内容的文件。
git更像一个文件系统,直接在本机上获取数据,不必连线到主机端获取数据。 每个开发者都可有全部开发历史的本地副本,changes从这种本地repository复制给其他开发者。这些changes作为新增的开发分支被导入,可以与本地开发分支合并。
git是用C语言开发的,以追求最高的性能。

什么是Github

GitHub是通过Git进行版本控制的软件源代码托管服务平台
GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开或私有的代码仓库,但付费用户支持更多功能。
Github除了允许个人和组织创建和访问保管中的代码以外,它也提供了一些方便社会化共同软件开发的功能,即一般人口中的社群功能,包括允许用户追踪其他用户、组织、软件库的动态,对软件代码的改动和bug提出评论等。GitHub也提供了图表功能,用于概观显示开发者们怎样在代码库上工作以及软件的开发活跃程度。

应用Git

初始化一个本地仓库

  • 在任意一个终端程序(gitbash\powershell等)中,cd到一个你要用git管理的目录,然后键入命令 git init ,就会在当前目录下创建一个本地git仓库(.git),但是要注意的是这个仓库是以“.”开头的默认隐藏文件,需要 ls -a 才能查看到。

进行本地提交

  • git add 命令用于将变化的文件,从工作区提交到暂存区。它的作用就是告诉 Git,下一次哪些变化需要保存到仓库区。用户可以使用git status命令查看目前的暂存区放置了哪些文件。
    通常使用 git add . 意思是将当前目录下所有变化的文件都放入暂存区。
    1
    2
    3
    4
    5
    6
    
        # 将指定文件放入暂存区
        $ git add <file>
        # 将指定目录下所有变化的文件,放入暂存区
        $ git add <directory>
        # 将当前目录下所有变化的文件,放入暂存区
        $ git add .
    
  • git commit 命令用于将暂存区中的变化提交到仓库区。
    1
    2
    3
    4
    5
    6
    7
    8
    
        # -m参数用于指定 commit 信息,是必需的。如果省略-m参数,git commit会自动打开文本编辑器,要求输入。
        $ git commit -m "message" -m参数用于添加提交说明。
    
        # -v参数可以显示所有的改动信息,也是在文本编辑器首行输入文字信息。
        $ git commit -v "verbose" 提交时显示所有改动信息。
    
        # -a参数用于先将所有工作区的变动文件,提交到暂存区,再运行git commit。用了-a参数,就不用执行 git add . 命令了。
        $ git commit -am "message" 直接提交所有变化了的文件。
    

将Github与Git相关联

当你在Github新建了一个仓库的时候 默认页面中会出现以下两行:

1
2
$ git remote add origin 你仓库的ssh链接
$ git push -u origin master

你要做的是:

  • 切换到你的项目目录,键入 git remote add origin 你仓库的ssh链接命令,成功后你的本地git仓库就和你的github的新建仓库相关联了。
  • 把本地仓库的内容提交之后,再键入 git push -u origin master 这时你的提交内容就成功上传到你github仓库的主分支了。

学习GitHub的资料

https://file.ituring.com.cn/ScreenShow/0100b1277525ae327a4c 点我购买