一直想有一个自己的代码库,搞了两天终于搞定了,把自己的代码上传到github的愿望终于实现了,虽然仅仅是个开始。

在搭建的过程中,吸收了些知识,记录在这里,以作为分享。

Git 和 Github 的区别与联系

  1. Git  Git是版本管理系统,它是个软件。是可以在电脑不连网的情况下只在本地使用的一个版本管理工具,其作用是让你更好的管理你的程序。
  2. Github 是一个网站,是 广大开源者开源自己的代码的平一个平台,而它采用版本控制的软件就是 Git。Github 是基于 Git 的代码托管库,说白了就是程序员自己写的程序存放的仓库,它是让程序员相互交流和学习的平台。

Github 的管理神器:SourceTree,虽说 Github 功能强大,但是使用命令行操作还是有点不习惯,也非常容易出错,特别对于英文不好的同学来讲,简直要了老命了。而 SourceTree 就是一个图形化操作  Github 的工具,操作简单,提交也非常直观。

那么我怎么建自己的代码库呢?

  1. 下载一个 Git:https://git-scm.com/download,安装完成之后。你的代码就放在 git 的安装目录下,与 git 安装程序目录同级,起一个名字,作为你代码存放的目录。
  2. 下载一个sourcetree ,我使用的中文版的,这是官方下载地址:https://www.sourcetreeapp.com/。在使用 sourcetree 之前,需要前对它进行设置,工具》选项,第一个选项卡》默认用户信息中的全名和电子邮件地址,分别填写你的 Github 的帐号信息 。
  3. 需要注意的是,提交按钮不会将代码放在远程仓库,只会提交到本地仓库,只有点击,推送,才会将代码提交到远程仓库。
  4. 注册一个 Github 帐号,之后新建一个仓库,这个仓库就是你的远程仓库,创建仓库的方法,请参考下面的链接。

Github有两种上传代码的方式:

  1. HTTPS  ( 我平时较常用这个 ),A账户想要给A账户下的仓库提交代码,直接使用https方式就行
  2. SSH  (不同帐户间提交代码),A账户想要给B账户下的仓库提交代码,ssh链接主机需要密码验证

SourceTree&Git部分名词解释:

  1. 克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库
  2. 提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送)
  3. 检出(checkout):切换不同分支
  4. 添加(add):添加文件到缓存区
  5. 移除(remove):移除文件至缓存区
  6. 暂存(git stash):保存工作现场
  7. 重置(reset):回到最近添加(add)/提交(commit)状态
  8. 合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消
  9. 抓取(fetch):从远程仓库获取信息并同步至本地仓库
  10. 拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 pull=fetch+merge
  11. 推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致
  12. 分支(branch):创建/修改/删除分枝
  13. 标签(tag):给项目增添标签
  14. 工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分枝
  15. 终端(terminal):可以输入git命令行

参考链接:

  1. 推荐一款github管理神器SourceTree

  2. 图解GitHub和SourceTree入门教程
  3. 创建远程仓库的方法
  4. 廖雪峰 Git 教程

我的第一个远程代码库房:建立Github仓库 心得的更多相关文章

  1. 借助Git实现本地与GitHub远程双向传输(同步GitHub仓库)以及一些使用错误解决

    前言 GitHub作为程序员必备的学习交流平台,虽然在国内速度不算快,但只要好好利用这个平台,我相信还是可以学习到很多东西.在暑期的时候,我曾经就初次远程连接到了GitHub,但开学后,不知道为什么又 ...

  2. ubuntu16系统中pycharm下使用git将代码提交到github仓库

    1 在系统中安装git,在terminal中输入以下命令 sudo apt-get update sudo apt-get install git 2 对git进行配置,在terminal中输入以下命 ...

  3. 本地更新代码同步至github仓库

    昨晚在家里写了一个demo放到github上,然后今天晚上来公司准备搞一下,但是git pull下来在本地修改之后push不到github上,然后发现公司电脑上并没有access权限,然后想起来还没配 ...

  4. CodeGuide 300+文档、100+代码库,一个指导程序员写代码的,Github 仓库开源啦!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.路怎样走,让你们自己挑 B站 视频:https://www.bilibili.com/vi ...

  5. 【git】15分钟学会使用Git和远程代码库

    Git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...

  6. git命令行提交并且同步到远程代码库

    远程代码库以github为例 1.打开 git bash 2.进入项目目录 cd /e/myGitProjects/test 3.提交到本地git仓库 git add -Agit commit -m ...

  7. 使用代码将github仓库里某个issue同步到CSDN博客上

    我是一个懒惰的程序员.我在github仓库里用issue的方式写了很多分享文章,想同步到CSDN上.但是我又不想一篇篇手动复制粘贴,因此想用代码来实现自动化. 例子: https://github.c ...

  8. 如何利用花生壳和VisualSVN Server建立远程代码仓库

    如何利用花生壳和VisualSVN建立远程代码仓库 最近由于项目需要,要远程访问实验室的svn服务器,但是实验室没有固定域名和ip,因此就打算用花生壳申请一个免费的域名构建一个服务器,再把Visual ...

  9. 15分钟学会使用Git和远程代码库

    git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...

随机推荐

  1. vue-07-自定义指令

    1, 全局指令 在main.js中引入 // 注册一个全局自定义指令 `v-focus` Vue.directive('focus', { // 当被绑定的元素插入到 DOM 中时…… inserte ...

  2. 【原创】Git 分支的合并【Learn Git Branching】

    merge       git merge是我们要学习的合并工作的第一个方法.合并产生一个特殊的提交记录,它包含两个唯一父提交.有两个父提交的提交记录本质上是:“我想把这两个父提交本身及它们的父提交集 ...

  3. 让Python代码更快运行的 5 种方法

    不论什么语言,我们都需要注意性能优化问题,提高执行效率.选择了脚本语言就要忍受其速度,这句话在某种程度上说明了Python作为脚本语言的不足之处,那就是执行效率和性能不够亮.尽管Python从未如C和 ...

  4. JAVA课程设计——一个简单的教务人事管理系统

    大三上学期期末总结,没错,上学期,写在下学期新学期开始,哈哈哈. 上学期学习了面向对象程序设计,课程设计的题目使用JAVA语言完成一个简单的教务人事管理系统,能够实现访问数据库的登录验证,分别按部门和 ...

  5. The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)

    摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其 ...

  6. μC/OS-II 信号量集

    简介 在实际应用中,任务常常需要与多个事件同步,即要根据多个信号量组合作用的结果来决定任务的运行方式.μC/OS-II 为了实现多个信号量组合的功能定义了一种特殊的数据结构--信号量集. 信号量集所能 ...

  7. Winform系列——好看的DataGridView折叠控件

    来园子几年了,第一次写博客.以前看到别人的博客就在想:这些人怎么能有这么多时间整理这么多知识,难道他们不用工作.不用写代码.不用交付测试?随着工作阅历的增加,发现其实并不是时间的问题,关键一个字:懒. ...

  8. C#序列化与反序列化。

    序列化介绍: 把对象用一种新的格式来表示. 系列化只序列化数据. 序列化不建议使用自动属性 为什么要序列化: 将一个复杂的对象转换流,方便存储与信息交换. class Program { static ...

  9. mysql双主+keepalived

    环境 OS: centos7Mysql 版本: mysql 5.7Keepalived: keepalived-1.2.20Mysql-vip:192.168.41.100Mysql-master1: ...

  10. Linux-bg和fg命令(19)

    使用ctrl+z将程序挂在后台: jobs 查看后台的命令: fg(fore go) 将后台的命令,放置前台(fore)继续执行,比如:fg 2     //等价于vi 2.txt bg(back g ...