Git(分布式版本控制系统)

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

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

Git能够帮助我们解决文件的提交、检出、回溯历史、冲突解决、多人协作模式等问题。

今天我们来介绍一下Git版本管理工具Sourcetree

SourceTree 是 Windows 和Mac OS X 下免费的 Git  客户端,支持创建、克隆、提交、push、pull 和合并等操作。

SourceTree既有GitBash的命令行,又有EGit的图形化管理,用户界面很人性化,大大简化了开发者与代码库之间的Git操作方式,这对于那些不熟悉Git命令的开发者来说非常实用。

附上Sourcetree的下载地址:

http://pan.baidu.com/s/1kUT5c4v    提取码:qiwu

GitHub

Git是一个分布式的版本控制系统和开源库。

附网上参考博客: http://www.jianshu.com/p/b9077110e39c

注册以及github界面不再详细介绍。


言归正传我们开始正文:

一、创建远程仓库

1. 首先进入个人中心,点击头像选择Your profile

 

2. 接下来我们选中仓库, New一个新的仓库

创建仓库

3. 具体创建仓库的操作如下图

详细说明

创建成功

二、配置SSH Key

当我们使用GitHub时,每次进行push操作都需要我们登录用户名和密码,这样会大大的降低效率,对于我们可以在上传的时候采用另外一种解决办法—SSH key, SSH key 可以帮我们记住用户名,而且还会对我们的密码进行特殊的保护。

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

1. 检查并删除ssh key

配置之前,我们先检查一下电脑中是否存在.ssh文件, 如果有就删掉我们从新配置, 具体步骤如下:

点击Finder,前往文件夹, jens是我的主机名称,操作的时候写成自己的

 

说明: 这个.ssh文件属于隐藏文件,我们可以通过 终端 显示隐藏文件

显示Mac隐藏文件的命令:defaultswritecom.apple.finderAppleShowAllFilesYES            隐藏Mac隐藏文件的命令:defaultswritecom.apple.finderAppleShowAllFilesNO

 

做完如上步骤, 我们检查一下要上传的项目中是否存在.git的文件,如果存在也给删除掉(这里我用一个空白的demo做测试)

 

2. 使用终端创建新的.ssh文件

为了防止出错,以下命令建议赋值粘贴

mkdir .ssh

3. 切换当前目录到.ssh文件夹下

cd .ssh

4. 创建公钥和私钥

ssh-keygen -t rsa -C"输入你的邮箱"

接下来会让我们输入密码之类的,直接回车,不做任何操作, 如下图

创建公钥和私钥 

5. 查看是否存在 id_rsa(私钥) id_rsa.pub(公钥),存在就成功了。

ls -la

 

6. 拷贝公钥

pbcopy < ~/.ssh/id_rsa.pub

7. 在GitHub上配置公钥

 

 

由于我们刚刚执行copy命令,上面直接cmd+v就可以了,然后add ssh key

添加公钥

 

8. 执行如下命令

ssh -T git@github.com

激活公钥

 

三、上传本地项目到GitHub

1. 建立Git仓库

如果你要上传的项目目录下存在 .git文件,建议删除; 使用终端切换到你要上传的目录下面, 执行

git init

 

2. 将项目中所有文件添加到仓库中

注意add 后有个 .  建议赋值粘贴

git add .

3. 将我们添加的文件commit到git仓库, 添加注释

git commit -m "注释语句"

4. 接下来我们将本地的仓库与github上的仓库进行关联

git remote add origin    github上仓库的地址

复制仓库地址

5. 上传之前我们先从git上拉取一下

git pull origin master

这个过程,可能会让你输入github的账户名和密码(注意:密码输入不显示),输入完成之后会出现如下的截图

 

这是vi编译器的窗口,不需要我们做操作,直接退出就可以,

点击键盘i进入编辑模式  -> 点击Esc  -> 输入 :wq  - > 回车

6. push本地项目到远程仓库

git push -u origin master

 

此时我们看到又要我们输入git账号和密码,输入即可!等待完成我们就可以在github上看到我们的项目。

 

上传本地项目,到这里就结束了,下面我们介绍一下,git版本管理工具的简单使用。


四、Sourcetree与GitHub的简单结合使用

1. 认识sourcetree界面

界面一

 

安装的时候,会提示让你登录,直接登录你的github账号就可以了。

选中某一个项目进入界面二(工作副本)

 

界面三(master)

 

2. 熟悉一下几个操作

commit     —     提交修改的内容到本地的仓库

pull         —     从远程仓库进行拉取修改的代码块

push       —     把本地修改的内容推送到远程仓库


3. 从远程仓库clone(克隆)项目到本地

这里我们介绍两种克隆方法 :

第一种:https url,对于使用git的初学者来说比较简单,我们只需要赋值https 的url链接,使用git版本管理工具 或者 命令行指令 克隆到本地就可以。

第二种:SSH url,如果想要使用SSH url进行克隆,我们克隆前需要配置SSH key

a. 复制克隆的链接地址, 这里我们使用ssh url 克隆。

复制克隆url

b. 打开sourcetree,从URL创建一个克隆的项目

创建新仓库

c. 输入步骤a中复制的地址

克隆仓库

d. 克隆成功后双击打开如下界面

 

我们在克隆的过程中,可能会让我们输入账号和密码,记得输入git的账号密码即可!


4、修改项目push到远程服务器

a. 下面我们打开从github上克隆到本地的项目, 做少许的修改。

打印log

b. 然后我们发现sourcetree界面发生了改变,它会统计到我们所做的一些修改信息

push界面介绍

c. 接下来,我们提交修改的内容到github

push到github界面截图

步骤3如果都选上,相当于我们把修改内容即commit到本地仓库,又push到远程仓库,

如果我们不勾选点提交,还需要我们点击菜单栏上的 “推送” 向远程仓库push推送修改内容,

如果不报错,就代表push成功。

d. 检查github上的仓库是否发生变化

检查github上的变化

5. 从远程拉取修改内容

保存修改内容的时候, 默认勾选  “Commit directly to the master branch.”,把修改内容添加到主分支。

修改后的截图

接下来我们就可以使用sourcetree进行拉取pull, 拉取时弹出的提示框,默认选择直接确定就好

拉取界面的截图

检查一下,我们会看到本地仓库与远程仓库进行同步

检查拉取后的结果

  东西比较多,做的时候一定要认真细心,如果有什么问题和意见可以与我联系,欢迎拍砖, 写给正在学习github以及git工具的你们  /:) 

参考链接:
 
1.http://www.jianshu.com/p/466cf85c0ad8
2.https://guides.github.com/activities/hello-world/
3.https://github.com/guodongxiaren/LinuxTool/blob/master/git.md#git-commit--a
4.http://www.jianshu.com/p/bff103a03852
5.http://houzhiqingjava.blog.163.com/blog/static/167399507201472343324562/

Git本地项目上传 & SourceTree & GitHub 简单使用的更多相关文章

  1. GIT将本地项目上传到Github(两种简单、方便的方法)

    GIT将本地项目上传到Github(两种简单.方便的方法) 一.第一种方法: 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安 ...

  2. Git的使用--如何将本地项目上传到Github(三种简单、方便的方法)

    一.第一种方法: 1.首先你需要一个github账号,所以还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路(傻瓜式安装) ...

  3. Git的使用--如何将本地项目上传到Github(两种简单、方便的方法..)

    https://blog.csdn.net/u014135752/article/details/79951802 总结:其实只需要进行下面几步就能把本地项目上传到Github 1.在本地创建一个版本 ...

  4. Git的使用-如何将本地项目上传到Github

    默认你的电脑上已经安装了git. 第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹). 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建. 现在我通过命令行 ...

  5. Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)

    不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...

  6. 使用Git将本地项目上传到Github操作详解

    Git的安装就不说了. 一.建本地仓库 1.第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹). 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建. 反正就 ...

  7. Git的使用--将本地项目上传到Github

    Git的使用--将本地项目上传到Github 感谢作者 --> 原文链接 很早之前就注册了Github,但对其使用一直懵懵懂懂,很不熟练.直到昨天做完百度前端技术学院的task,想把代码托管到G ...

  8. Git 使用,本地项目上传到GitHub远程库

    Git 使用,本地项目上传到GitHub远程库 环境 GitHub账号 点此进入github官网 git客户端工具 点此进入git下载页 本地项目上传到 GitHub 在GitHub中创建一个仓库(远 ...

  9. 详细教程:将本地项目上传到github

    作为 一个工程师,将本地项目上传到github进行备份和分享是一个不错的技能,一来可以方便以后的工作,二来可以分享自己的成果.所以下面本人详细教大家如何将本地项目上传到github,十分简单,一学就会 ...

随机推荐

  1. Windows系统顽固文件删除方法

    con nul都是windows的设备,默认是不允许删除的,如果你一定要删除,可以按照以下方法进行删除!新建一个记事本输入一下内容(直接复制即可)DEL /F /A /Q \\?\%1 RD /S / ...

  2. 向openwrt 源码添加ap143支持

    借鉴地址:http://www.pppei.net/blog/post/536 1.向文件 \target\linux\ar71xx\generic\profiles\atheros.mk 中添加ap ...

  3. linux命令 awk

    awk的工作流程如下: 读入有 '\n' 换行符分割的一跳记录,然后将记录按指定的域分隔划分域,填充域,$0 表示所有域, $1 表示第一个域, $n 表示第n个域.默认域分隔符为“空白键”或者“[t ...

  4. OGRE HelloWorld

    #include <OGRE/ExampleApplication.h> #include <OGRE/Ogre.h> class EnvMapApplication : pu ...

  5. delphi 中sql的语法规范

    1.引号配对:  这是在Delphi使用SQL语句时容易出错的地方,由于delphi规定在字符串中用两个西文的单引号“''”表示一个“'”,在拼装语句的时候就容易疏忽遗漏.  Delphi里有个函数Q ...

  6. 第三次冲刺spring会议(第一次会议)

    [例会时间]2014/5/20 21:15 [例会地点]9#446 [例会形式]轮流发言 [例会主持]马翔 [例会记录]兰梦 小组成员:兰梦 ,马翔,李金吉,赵天,胡佳

  7. iOS应用性能调优的4个建议和技巧

    任何一个能在用户手机屏幕中占有一席之地的iOS app都包含3个关键因素:想法好.设计出色.性能卓越.本文将分享一些iOS应用性能调优的4个建议和技巧. Tip #1:把图片资源压缩到最小.    i ...

  8. photoshop的页面制作练习1

  9. [转]html 移动互联网终端的javascript touch事件,touchstart, touchend, touchmove

    前言 如果我们允许用户在页面上用类似桌面浏览器鼠标手势的方式来控制WEB APP,这个页面上肯定是有很多可点击区域的,如果用户触摸到了那些可点击区域怎么办呢??诸如智能手机和平板电脑一类的移动设备通常 ...

  10. The Accomodation of Students(判断二分图以及求二分图最大匹配)

    The Accomodation of Students Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d &a ...