Git 和 Github 使用教程

本文以Windows平台为例,简要说明如何使用本地仓库Git和远程仓库Github。

我们需要澄清的概念

1、本地仓库:通过本地安装的Git软件管理的构建的git仓库

2、远程仓库:指的在github上构建的仓库(本文以github远程仓库为例,不涉及其他远程仓库)

本地仓库Git

步骤1:安装配置

在使用Git前,我们需要先安装 Git,Windows版Git工具下载地址如下,

官网:https://gitforwindows.org

国内镜像:https://npm.taobao.org/mirrors/git-for-windows

Window版Git安装比较简单,本文不在赘述。

安装完成后,就可以鼠标右键看到Git命令行工具Git Bash或者Git图形界面工具Git GUI。

步骤2:创建本地Git仓库

要使用Git前,首先需要建立一个Git仓库。您既可以使用一个已经存在的目录,也可以使用一个空目录作为Git仓库。

本文新建一个myGit空目录(概念1:Git工作区)作为Git仓库,为大家介绍Git使用。鼠标右键弹出菜单,选择Git Bash Here, 打开Git命令行窗口。

注意:以下所有步骤操作全部在Git命令行窗口进行,后续不再赘述。

//1.新建目录:新建一个myGit空目录作为Git仓库
mkdir myGit
cd myGit
​
//2.创建Git仓库:在myGit目录下执行以下命令,创建一个本地git仓库
git init

创建完成后,在myGit目录下多了一个.git文件夹,说明本地Git仓库构建成功。

注意:本章节讲解的是本地仓库Git,与github远程仓库无关,这也是不少人容易混淆的地方之一。

步骤3:本地Git仓库添加文件

建立Git仓库的目的是对文件的不同版本进行管理,我们可以打开myGit目录,添加一个文件,比如hello.txt,之后可以通过add命令向Git仓库暂存区添加文件(概念2:Git暂存区)。

//3.添加文件:add命令添加文件到Git暂存区。注意add后面有个点.
//一次添加一个文件
git add hello.txt
​
//一次添加所有文件
git add .

步骤4:提交文件到Git仓库

完成步骤3,文件信息被放到Git仓库暂存区,还要通过commit命令才能把文件真正保存到Git仓库

//4.提交版本:将暂存区内容保存到本地仓库中
git commit -m"add hello.txt"
​
//或者,我们一次修改了很多文件,又不想每一个都add,就可在commit中使用-a标识完成自动提交本地修改
git commit -a -m "add hello.txt"
//注:-a不会造成新文件被提交,只能修改。

通过以上4个步骤,我们实际上已经实现了本地文件版本简单管理。

步骤5:本地Git分支branch(指的是本地分支)

在git bash命令行窗口中执行了git init,我建的本地仓库myGit就默认创建一个master分支,我们就可以在master分支上开展工作。当我们的工作进行到一个阶段,我们想对完成的工作内容打一个新版本,比如v1.0.0,这时,我们就可以在主分支master基础上,创建一个分支v1.0.0,然后,在分支v1.0.0上工作。也可以根据需要,在在不同分支master、v1.0.0上来回切换。

//1. 创建分支
git branch v1.0.0
// or 本地库添加并切换到新分支
git branch -b v1.0.0
​
//2. 切换分支:切换到分支v1.0.0,新增加一个v1.txt文件,之后执行 add commit 命令,之后再切换到master分支,查看myGit目录内容变化,体会不同分支对文件内容管理影响。
git checkout v1.0.0
 
//3.列出所在分支
git branch
* master //本地master分支 *表示目前所在分支
  v1.0.0 //本地v1.0.0分支
​
//4.合并分支v1.0.0内容到master分支
git checkout master
git merge v1.0.0
​
//5. 删除本地分支
git checkout master
git branch -d v1.0.0

需要明确的是不同分支,代表本地不同工作目录,使用分支切换命令,切换分支,看看工作目录myGit中内容变化,体会分支的作用。

步骤6:本地对比修改文件

我们也可以通过status、diff查看本地仓库状态,比较文件不同。

//查看本地仓库当前的状态,显示有变更的文件
git status
​
//比较文件不同,即比较工作区与暂存区内容的差异
git diff  
​
//or 比较某一个文件的不同
git diff xxx.yy

当然,Git命令还有很多,有兴趣的可以查看官网手册

远程仓库github

到目前位置,我们使用 的Git 命令都是在本地执行,都是在操作本地Git仓库,我们的内容还都存储在本机,我们还没有走出去。如果我们想把我们构建的内容与他人分享,我们就需要将内容推送到一台其他人员也能够连接的git远程仓库上。

本文以github作为远程仓库,说明如何实现本地仓库Git与远程仓库Github互动。

如何注册github账户,请参见官网,本文不再赘述。

步骤1:远程仓库:在github上建立仓库

在github上创建git仓库,名字为: myGithub

步骤2:本地仓库myGit连接远程仓库myGithub

通过remote add命令,就在本地仓库myGit与远程仓库github上myGithub仓库建立了关联,就可以向github提交或者从github上拉取数据内容。

//连接远程仓库:在本地仓库myGit中执行以下命令,让本地仓库与远程仓库建立连接
#格式:git remote add [shortname] [url]
git remote add mygod  git@github.com:<your username>/myGithub.git
​
//注:mygod 为远程仓库的别名,可以任意起名

步骤3:远程仓库操作

我们可以通过remote -v 命令显示本地仓库myGit与哪些github上的仓库有关联,注意啊,可以是多个仓库。

//显示与本地仓库myGit相关的所有远程仓库,
git remote -v
mygod   git@github.com:<username>/myGithub.git (fetch)
mygod   git@github.com:<username>/myGithub.git (push)
​
//修改远程仓库的别名
#格式:git remote rename old_name new_name  # 修改仓库名
git remote rename mygod mg
​
//删除本地仓库关联的远程仓库,注意啊,不是删除github上的仓库
git remote rm mg  # 删除远程仓库
​
git remote -v # 因为已经删除,返回结果为空
​
//重新添加远程仓库
git remote add mygod  git@github.com:<username>/myGithub.git

步骤4:从远程库拉取文件到本地库

如果github上仓库已经有多个分支,比如一个开源库,别人已经建立了多个分支,我们想把指定的分支拉取到本地仓库myGit中,怎么办,就可以通过一下命令实现指定分支的拉取。

//从github拉取指定的分支
#格式:git pull [shortname]  <远程分支名>:<本地分支名>
git pull mygod v1.1.2:v1.1.2
//or
git pull mygod v1.1.2
​
// 查看本地分支
git branch

pull成功后,本地会多出一个分支v1.1.2

步骤5: 提交文件到github

如果我们想把本地仓库myGit 指定分支内容提交到github上,就需要使用push命令

//推送本地仓库myGit指定分支内容到github上
# git push <远程主机名> <本地分支名>:<远程分支名>
# git push <远程主机名> <本地分支名> #如果本地分支名与远程分支名相同,则可以省略冒号
git push mygod :v1.1.2 
​
#如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:
git push --force v1.1.2 v1.1.2

步骤6: 删除远程分支

如果远程仓库github上myGithub仓库,指定的分支已经不在使用,我们可以通过一下命令删除指定分支。

# 删除github上 myGithub仓库的v1.1.2分支
git push mygod --delete v1.1.2

到此为止,本文已简略说明Git 及 Github的日常使用命令,若想更深入使用Git 和Github仓库,请查看官网手册

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值