如何使用Git和Github?

声明:本文全部内容为原创内容,禁止在未经授权的情况下进行任何二次创作和修改,转载请注明出处。

摘要

这篇文章将会介绍如何使用Git和Github进行项目的不同版本与不同分支管理,并将以创建一个项目为例,介绍如何使用Git进行版本控制并将项目推送到Github上。本教程中以Linux系统为例进行操作,在Windows系统中可使用Git Bash代替Linux中的命令行。

第一部分:使用Git

什么是Git

Git是一个开源的分布式版本控制系统,可以高效、快速地处理从小型到大型项目的项目版本控制。 使用git,一个项目可以分为多个分支,由不同的开发者轻松开发,这有助于改善大型项目的开发。 此外,它允许开发者管理项目的不同版本,从而帮助开发者跟踪流程并在发生意外情况时恢复到稳定的版本以确保正常工作。

首次使用配置

用户名和邮箱

配置用户名和邮箱,这将作为在每次提交变更时记录的变更提交者的信息:

$ git config --global user.name "username"
$ git config --global user.email example@email.com

创建一个新的Git项目

假设在主目录~/创建一个名为”hello_world”的项目。
首先,创建一个名为”hello_world”的文件夹作为工程的工作空间:

~$ mkdir hello_world

然后进入工作空间并初始化本地仓库(工作空间):

~$ cd hello_world
~/hello_world$ git init

创建README.md文件:

~/hello_world$ touch README.md

工作流

仓库由三个树组成。 第一个是工作目录,其中包含实际文件。 第二个是索引,它充当暂存区域。 第三个是HEAD,它指向最新的提交。
当工作目录中的文件发生变更时,在正式提交前需要将变更的部分添加到暂存区域。提交时,所有在暂存区域的变更将会提交到HEAD中,同时暂存区域将会被清空。
在这里插入图片描述

添加和提交

将变更添加到索引中:

~/hello_world$ git add <filename>

为了方便,可以将工作目录下的所有变更添加索引中:

~/hello_world$ git add .

将所有变更从索引区提交到HEAD:

~/hello_world$ git commit -m "Commit message"

现在最新版本的工程已经提交到HEAD中。

第二部分:使用Github

什么是Github

Github是一家全球公司,提供使用Git进行软件开发版本控制的托管。 使用Github,可以将代码在线推送并由更多开发人员进行开发。 此外,它还是著名的开源代码平台。

注册Github账户

前往Github官网注册账户:https://github.com/

创建一个新的Github仓库

步骤一:在菜单中选择

在菜单中选择”New Repository”选项:
在这里插入图片描述

步骤二:完成相关信息填写

填写仓库名称、描述以及隐私选项:
在这里插入图片描述
提示:免费账户只能选择创建公共仓库。如果是学生,可以申请学生账户以免费创建私人仓库。
如果想将已经存在的本地仓库推送到这个仓库上,不要选择”Initialize this repository with a README”选项。

允许你的电脑访问Github账户

步骤一:编辑账户设置

选择账户菜单中的”Settings”选项:
在这里插入图片描述

步骤二:点击”SSH and GPG keys”选项

在这里插入图片描述

步骤三:点击”New SSH key”选项

在这里插入图片描述

步骤四:生成电脑的SSH公钥

在terminal(mac和linux系统)或git bash(Windows系统)中生成电脑的SSH公钥:

~$ ssh-keygen -t rsa -C "example@email.com"

邮箱地址是注册Github时的邮箱地址。
然后,”id_rsa.pub”文件将会生成并存储在terminal提示的路径中,通常为~/.ssh。

步骤五:将id_rsa.pub中的所有文本复制到Github账户的公钥列表中

为这个公钥添加一个标题,并将id_ras.pub中的全部文本复制到这个页面中:
在这里插入图片描述
SSH公钥通常以”ssh-rsa”开头,以邮箱地址结尾。
然后可以在SSH公钥列表里看到已经添加的公钥。

将本地仓库推送到Github仓库

为本地仓库添加远程仓库

将Github仓库添加为本地仓库的远程仓库:

~/hello_world$ git remote add origin git@github.com:<username>/hello_world.git

这个地址可以在github仓库找到:
在这里插入图片描述

将本地仓库推送到远程仓库

运行如下命令推送:

~/hello_world$ git push -u origin master

分支

分支用于开发彼此分离而不同的功能。默认分支为”master”,在创建仓库的时候就已经自动创建。可以创建新的分支来开发新的功能,并且在完成后将该分支合并到主分支”master”中。

新建分支

新建分支并切换到该分支:

~/hello_world$ git checkout -b <branch_name>

列出全部分支

~/hello_world$ git branch

所有分支都将被列出,并且当前分支前会以”*”标记。

切换分支

~/hello_world$ git checkout <branch_name>

删除分支

~/hello_world$ git branch -d <branch_name>

将分支推送到Github仓库中

~/hello_world$ git push -u origin <branch_name>

将本地仓库更新到与Github仓库同步

~/hello_world$ git pull

合并

不同分支可以相互合并,如下命令可以将一个分支合并到当前分支:

~/hello_world$ git merge <branch_name>

如果想要将一个分支合并到master分支中,需要先切换到master分支后再合并:

~/hello_world$ git checkout master
~/hello_world$ git merge <branch_name>

引用

  1. http://rogerdudler.github.io/git-guide/index.html

个人博客主站(最新内容):https://blog.davcloud.top/

CSDN:不向光的红外线

知乎:不向光的红外线

微信公众号:davcloud

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值