使用Git进行版本控制:(2)在OS X系统上开始使用Git代码仓储

简介: 了解了基本的Git概念之后,现在我们开始讲Git应用到实际的工作中来。通常比较常用的代码托管网站有Github和BitBucket等,二者基本功能类似,在细节上稍稍有点区别。

了解了基本的Git概念之后,现在我们开始讲Git应用到实际的工作中来。通常比较常用的代码托管网站有Github和BitBucket等,二者基本功能类似,在细节上稍稍有点区别。首先,在开源世界的影响力上Github大幅领先,现在已经堪称是程序员的Facebook,而BitBucket则稍逊一筹;其次,GitHub在不购买增值服务情况下仅能建立公开代码库,即只能在上面开发开源项目,而BitBucket则可以免费建立多个私人代码库;第三,Github仅支持Git进行同步操作,而Bitbucket支持Git和Mercurial来同步。如果我们既有开发开源项目,也有开发保密的商业工程的需求,那么最好同时建立二者的账户并根据需求选择相应的代码库。


1、账号注册

Github和Bitbucket的网址如下:

Github:https://github.com/

BitBucket:https://bitbucket.org/

二者的注册过程只要有一个邮箱即可轻易完成,不再赘述。需要注意的是,最好可以使用同一个邮箱注册,这样在后面建立ssh秘钥的时候会省去很多的麻烦。


2、安装和配置Git

首先需要确定本机的操作系统上已经安装了Git和ssh-keygen的程序,在安装OS X系统时通常已经安装完成,如果没有还需要额外安装。

(1)、生成安装秘钥

在OS X的终端上,输入命令:

> cd ~/.ssh

此时,如果是从一个全新的电脑上开始配置的话,命令行通常会显示:No such file or directory,表示.ssh这个目录不存在,随后我们就将建立这个目录及其中的秘钥。如果该目录存在且有内容,则说明从前曾经生成过秘钥,可以将其备份并删除。

随后,输入以下命令:

> ssh-keygen -t rsa -C "your_email@example.com"
此时会使用命令中的邮箱,在/用户目录/.ssh/id_rsa中建立秘钥,命令行会显示以下内容:

Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
此时会要求输入密码,可以直接回车跳过。

按照默认设置,一路回车,最终终端会显示如下信息:

Your identification has been saved in /home/you_username/.ssh/id_rsa.
Your public key has been saved in /home/you_username/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db demo@example.com

(2)、将ssh秘钥添加到Github和Bitbucket

首先,需要将公钥的内容进行拷贝:

> cat id_rsa.pub | pbcopy
此后,id_rsa.pub的内容便被拷贝到了剪贴板中。

Github的ssh秘钥配置:




在接下来的页面中粘贴,并对这个ssk key进行命名;

BitBucket的秘钥配置:




在弹出页面中,将公钥拷贝到大空格中并设置key的名称。

这样,对Github和Bitbucket的SSH秘钥设置就完成了。


3、向代码仓库中提交代码

我们以将代码提交到Bitbucket中为例说明。向Github中提交代码的过程类似。

(1)在Bitbucket上建立代码仓库。

在完成上面的操作后,登陆Bitbucket,然后会发现下面有一个显眼的按键“创建一个仓库”,很明显,如果我们要提交代码的话,首先要在这里创建一个仓库。

创建的过程非常直观,只要输入仓库的名称、描述、访问级别、语言等信息就可以了。

(2)建立本地工程

首先需要选择一个保存本地代码的目录,并设置为git仓储的本地目录。

mkdir /path/to/your/project
cd /path/to/your/project
git init
git remote add origin git@bitbucket.org:YinWenjie/tutorial.git

(3)将本地工程向服务器推送

将在本地开发、修改完成的代码添加到该目录中,并提交到本地的git,最终push到Bitbucket的服务器上:

echo "Wenjie Yin" >> contributors.txt
git add contributors.txt
git commit -m 'Initial commit with contributors'
git push -u origin master
等待数据传输完成后,本地仓库中的代码就成功提交到了服务器上。




目录
相关文章
|
10天前
|
项目管理 开发工具 git
Python面试题:Git版本控制与协作开发
【4月更文挑战第19天】本文聚焦于Python面试中Git版本控制与协作开发的考察点,涵盖Git基础、协作流程及实战示例。面试者需理解仓库、提交、分支等核心概念,掌握常用命令,熟悉主干开发和GitFlow策略。在协作开发中,要掌握Pull Request工作流,有效处理合并冲突,并善用标签与里程碑。注意避免混淆工作区、忽视代码审查和直接在远程分支上工作等常见错误。通过实例展示了如何在GitFlow策略下合并分支和解决冲突,强调持续学习与实践以提升Git技能。
21 1
|
13天前
|
安全 开发工具 数据安全/隐私保护
《Git 简易速速上手小册》第8章:保护你的代码(2024 最新版)
《Git 简易速速上手小册》第8章:保护你的代码(2024 最新版)
30 1
|
10天前
|
存储 Linux API
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
13 0
|
5天前
|
项目管理 开发工具 git
版本控制与源代码管理:在 Visual Basic 项目中使用 Git
【4月更文挑战第27天】本文介绍了在Visual Basic项目中使用Git进行版本控制和源代码管理的重要性。Git作为一个流行的分布式版本控制系统,具备分布式架构、高效性能和强大分支管理等特点。在项目中,需先安装Git,然后初始化仓库、添加文件和提交更改。常用操作包括查看状态、日志、创建及切换分支和合并分支。团队协作时,借助远程仓库和推送拉取命令实现代码共享。虽然Git有学习曲线,但其优势在于强大的功能、灵活性和社区支持,能提升开发效率和代码质量。通过学习和实践,开发者可充分利用Git优化协作和项目管理。
|
10天前
|
程序员 Linux 开发工具
振南技术干货集:研发版本乱到“妈不认”? Git!(5)
振南技术干货集:研发版本乱到“妈不认”? Git!(5)
|
10天前
|
存储 安全 Linux
振南技术干货集:研发版本乱到“妈不认”? Git!(4)
振南技术干货集:研发版本乱到“妈不认”? Git!(4)
振南技术干货集:研发版本乱到“妈不认”? Git!(4)
|
2天前
|
前端开发 持续交付 开发工具
【专栏:工具与技巧篇】版本控制与Git在前端开发中的应用
【4月更文挑战第30天】Git是前端开发中的必备工具,它通过分布式版本控制管理代码历史,支持分支、合并、回滚等操作,促进团队协作和冲突解决。在前端项目中,Git用于代码追踪、代码审查、持续集成与部署,提升效率和质量。优化协作包括制定分支策略、编写清晰提交信息、定期合并清理分支及使用Git钩子和自动化工具。掌握Git能有效提升开发效率和代码质量。
|
2天前
|
机器学习/深度学习 自动驾驶 安全
深入理解操作系统内存管理:策略与实现基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第30天】 在现代计算机系统中,操作系统的内存管理是确保系统高效、稳定运行的关键组成部分。本文将深入探讨操作系统中内存管理的多种策略及其实现机制,包括但不限于分页、分段和段页式结合等技术。我们将剖析内存分配的原理,讨论虚拟内存技术的实现以及它如何提供更大的地址空间并允许内存的交换。同时,我们还会涉及内存保护机制,它们是如何防止程序访问未授权的内存区域。最后,文中将对现代操作系统如Linux和Windows中的内存管理实践进行比较分析,以期给读者提供全面而深入的理解和参考。 【4月更文挑战第30天】 随着人工智能技术的飞速发展,深度学习已经
|
2天前
|
开发工具 git
IDEA通过git怎么回滚到某个提交节点或某个版本
IDEA通过git怎么回滚到某个提交节点或某个版本
|
2天前
|
开发框架 算法 前端开发
深入理解操作系统:进程管理与调度策略移动应用开发的未来:跨平台框架与原生系统的协同进化
【4月更文挑战第30天】 本文旨在探讨操作系统中的核心机制之一 —— 进程管理,并详细分析不同的进程调度策略。通过对操作系统中进程概念的剖析,我们揭示了进程状态、进程控制块(PCB)以及进程调度器的重要性。文章进一步对比了几种常见的进程调度算法,如先来先服务(FCFS)、短作业优先(SJF)、轮转调度(RR),以及多级反馈队列(MLQ),并讨论了它们在不同应用场景下的性能表现。最后,文章还涉及了现代操作系统中对于多核处理器和实时系统所采用的特殊调度考虑。 【4月更文挑战第30天】 在移动设备日益成为人们日常生活与工作不可或缺的组成部分时,移动应用的开发和维护也变得愈加重要。本文将探讨移动应用