美文网首页前端版本控制i0S
Git本地项目上传,版本管理工具与GitHub的简单结合使用

Git本地项目上传,版本管理工具与GitHub的简单结合使用

作者: Jens丶 | 来源:发表于2016-05-04 01:42 被阅读4264次

    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工具的你们  /:) 


    相关文章

      网友评论

      • e6f5470edfc3:怎么和你联系
        Jens丶:@啷哩个啷儿 留言就可以
      • RBNote:显示Mac隐藏文件的指令 defaults write com.apple.finder AppleShowAllFiles YES
      • e1db934a9946:话说我Android 的看懂了,谢谢啊
        Jens丶:@xiongyingjun 很棒~不客气
      • Timer丶:给老师点个赞
      • 代码:写的真心不错
      • 凌峰Mical:如何删除gitHub的工程 也写一下,会更加全面
        Jens丶:@凌峰Mical 好的谢谢哈:blush::blush::blush:
      • MonkeyLu:关于“我们在克隆的过程中,可能会让我们输入账号和密码,记得输入git的账号密码即可!”。作者有解决办法吗???每次push都要输入2~3次密码……感觉好烦。可不可以优化
        Jens丶:@MonkeyLu 配置好之后,之后的操作就不需要密码了
        MonkeyLu:@Jens丶 同步以后每次拉取不再需要密码吗?我
        Jens丶:@MonkeyLu 使用ssh key的方法进行代码的同步,博客中有介绍
      • LoveY34:使用ssh文件的主要目的是什么啊?就是为了在push的时候不需要再输入密码嘛?可是我使用的时候只在第一次输入了用户名和密码,后来就没再提示输入了?
        Jens丶:@Lylhf ssh的话是一种网络协议,用于计算机之间的加密登陆,它是为了保证我们的数据安全,防止数据被人为的截取。sourcetree的话会直接读取你系统预设置的ssh key。
      • 709b16930696:作者写的很细,但是有一个问题没有考虑到,就是SSH,如果我真的不能删除已存在的SSH怎么办?总的来说,写的很细,不错
        Jens丶:@大家叫我小祥子 :relaxed: 非常感谢你的意见.
        709b16930696:@Jens丶 不是这个问题啊,是我本地的ssh不需要删除,你的做法太暴力了,本地的ssh都先干掉,如果我在github上要ssh,我的项目也要ssh,还有杂七杂八的也要ssh,总不能每次运行一下删一次吧,多个ssh需要兼容。:sweat::sweat::sweat:
        Jens丶:@大家叫我小祥子 非常感谢你的问题,请问是你电脑的ssh文件无法删除么?如果是这样的话,建议你显示简介,最下面有修改文件的权限,需要输入电脑密码
      • xxttw:很好
      • 8ae158dda3f2:非常好
      • 傅简书:简书的程序员不是一般的多…
      • 23fd1e8fb4ee:给64个赞。。。
      • liuzhongyi:还要多32个赞
      • 乡下二哥:给你32吨赞!
      • 48afbc7fdc58:永远比别人多32个赞
      • 43edc0505b01:比他多32个赞
      • ee9b4548e234:给你32赞

      本文标题:Git本地项目上传,版本管理工具与GitHub的简单结合使用

      本文链接:https://www.haomeiwen.com/subject/cqyqlttx.html