1.官方解释

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目

2.个人解释

之前的SVN是集中式的,所有代码都需要放在同一台服务器管理,Git之所以是分布式的,第一是,Git也和SVN一样有Github,GitLab这样的远程(集中式)仓库,同时本地也有本地仓库, 第二: 本地仓库也可以用作版本控制,作为仓库供其他人使用

本地和远程都可以通过同一个地址来个管理不同版本,或者不同目的的代码

eg: 

本地地址  /data/code/GitDemo 同一个路径下的文件可以来回切换不同的版本,而不需要在本地为同一个项目使用不同的路径来存放不同版本的代码

3. 使用说明

Git 可以理解为本地和远端两个仓库

下面从开始说一下git 到底怎么工作的

1) GitHub  有一个账号

2) 在GitHub上 Create  a new  repository(仓库): 

gitDemo

3)   初始化本地仓库

MacBook-Pro:API $ mkdir gitDemo                         //创建本地仓库
MacBook-Pro:API$ cd gitDemo                  //切换到本地仓库
MacBook-Pro:gitDemo $ git init                          //初始化本地仓库
Initialized empty Git repository in /Users/*****/Desktop/API/gitDemo/.git/

git init 之后就会在本地仓库下面生成.git目录


$ ls -al
total 0
drwxr-xr-x   3  staff   102  2  4 15:33 .
drwxr-xr-x  32  staff  1088  2  4 15:33 ..
drwxr-xr-x  10  staff   340  2  4 15:33 .git
MacBook-Pro:gitDemo$ cd .git/
MacBook-Pro:.git$ ls -al
total 24
drwxr-xr-x  10  staff  340  2  4 15:33 .
drwxr-xr-x   3  staff  102  2  4 15:33 ..
-rw-r--r--   1  staff   23  2  4 15:33 HEAD
drwxr-xr-x   2  staff   68  2  4 15:33 branches
-rw-r--r--   1  staff  137  2  4 15:33 config
-rw-r--r--   1  staff   73  2  4 15:33 description
drwxr-xr-x  11  staff  374  2  4 15:33 hooks
drwxr-xr-x   3  staff  102  2  4 15:33 info
drwxr-xr-x   4  staff  136  2  4 15:33 objects
drwxr-xr-x   4  staff  136  2  4 15:33 refs


4) 将本地的仓库与远程的仓库创建连接

MacBook-Pro:gitDemo $ git remote add origin git@github.com:yayaqwl/gitDemo.git


origin: origin就是一个名字,它是在你clone一个托管在Github上代码库时/或者建立连接时,git为你默认创建的指向这个远程代码库的标签(别名)当然你也可以使用别的名称


可以使用git remote -v查看


$ git remote -v
origin	git@github.com:yayaqwl/gitDemo.git(fetch)
origin	git@github.com:yayaqwl/gitDemo.git(push)

5)维护本地仓库文件

 $ echo "# Demo" >> README.md                    
$ git add README.md
$ git commit -m "first commit"                //提交到本地仓库
$ git push -u origin master                 //提交到远程仓库

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。



网上查到一个比较好的文章

https://my.oschina.net/kaixuan1995/blog/619337






Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐