Git的使用
前言
1 | 今天花了一上午的时间又系统的复习了一下git,午觉之后,趁着记忆还在,便想着记录一下,方便日后复习。 |
一、Git
的基本操作
1. 获取 Git
仓库的两种方式
① 将尚未进行版本控制的本地目录转换为 Git
仓库
② 从其它服务器克隆一个已存在的 Git
仓库
以上两种方式都能够在自己的电脑上得到一个可用的 Git 仓库
2. 在现有目录中初始化仓库(⭐⭐⭐)
如果自己有一个尚未进行版本控制的项目目录,想要用 Git
来控制它,需要执行如下两个步骤:
① 在项目目录中,通过鼠标右键打开“Git Bash
”
② 执行 git init
命令将当前的目录转化为 Git
仓库
git init
命令会创建一个名为 .git 的隐藏目录,这个 .git 目录就是当前项目的 Git 仓库,里面包含了初始的必要文件,这些文件是 Git 仓库的必要组成部分
3. 常用命令
二、Git
分支的基本使用
1. master 主分支
在初始化本地 Git
仓库的时候,Git
默认已经帮我们创建了一个名字叫做 master
的分支。通常我们把这个
master
分支叫做主分支。
在实际工作中,master
主分支的作用是:用来保存和记录整个项目已完成的功能代码。
因此,不允许程序员直接在 master
分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。
2. 创建新分支
使用如下的命令,可以查看当前 Git 仓库中所有的分支列表:
1 | git branch |
注意:分支名字前面的 ***** 号表示当前所处的分支。
使用如下的命令,可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样:
1 | git branch 分支名称 |
使用如下的命令,可以切换到指定的分支上进行开发:
1 | git checkout login |
3. 分支的快速创建和切换(⭐⭐⭐)
使用如下的命令,可以创建指定名称的新分支,并立即切换到新分支上:
1 | -b 表示创建一个新分支 |
注意:
“git checkout -b 分支名称
“ 是下面
两条命令的简写形式:
① git branch
分支名称
② git checkout
分支名称
功能分支的代码开发测试完毕之后,可以使用如下的命令,将完成后的代码合并到 master
主分支上:
1 | 1. 切换到 master 分支 |
合并分支时的注意点:
假设要把 C 分支的代码合并到 A 分支,
则必须先切换到 A 分支上,再运行 git merge 命令,来合并 C 分支!
当把功能分支的代码合并到 master
主分支上以后,就可以使用如下的命令,删除对应的功能分支:
1 | git branch -d 分支名称 |
三、远程分支操作
1. 将本地分支推送到远程仓库(⭐⭐⭐)
如果是第一次将本地分支推送到远程仓库,需要运行如下的命令:
1 | -u 表示把本地分支和远程分支进行关联,只在第一次推送的时候需要带 -u 参数 |
注意:第一次推送分支需要带 -u 参数,此后可以直接使用 git push
推送代码到远程分支。
2. 查看远程仓库中所有的分支列表
通过如下的命令,可以查看远程仓库中,所有的分支列表的信息:
1 | git remote show 远程仓库名称 |
3. 跟踪分支(⭐⭐⭐)
跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中。需要运行的命令如下:
1 | 示例 |
4. 拉取远程分支的最新的代码
可以使用如下的命令,把远程分支最新的代码下载到本地对应的分支中:
1 | 从远程仓库,拉取当前分支最新的代码,保持当前分支的代码和远程分支代码一致 |
5. 删除远程分支
可以使用如下的命令,删除远程仓库中指定的分支:
1 | 删除远程仓库中,制定名称的远程分支 |
四、总结
- 能够掌握
Git
中基本命令的使用git init
git add .
git commit –m "提交消息"
git status
和git status -s
- 能够使用
Github
创建和维护远程仓库- 能够配置
Github
的SSH
访问 - 能够将本地仓库上传到
Github
- 能够配置
- 能够掌握
Git
分支的基本使用git checkout -b 新分支名称
git push -u origin 新分支名称
git checkout 分支名称
- `git branch
- Title: Git的使用
- Author: Mr.zh
- Created at : 2024-04-29 14:00:29
- Updated at : 2024-04-29 14:32:06
- Link: https://github.com/zhyoulove/2024/04/29/Git的使用/
- License: This work is licensed under CC BY-NC-SA 4.0.