Git及GitHub基本操作常

本文详细介绍Git版本控制系统的基本概念、常用命令及其应用场景,包括初始化本地库、提交更改、分支管理及远程仓库操作等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git

1. 概述

Git是免费开源的版本控制工具,能够高效处理小型到大型的各种项目

1.1 版本控制工具

集中式版本控制工具:CVS、SVN…

分布式版本控制工具:GIT、Bazaar…

1.2 工作机制

在这里插入图片描述

2. 安装

官网:https://git-scm.com/

apt install git
git --version  # 查看版本号

3. Git常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户邮箱
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m “日志信息” 文件名提交到本地库
git reflog查看历史纪录
git reset --hard 版本号版本穿梭

3.1 设置用户签名

git config --global user.name 用户名
git config --global user.email 邮箱

在执行命令的目录下.gitconfig中可以查看自己设置的用户名和邮箱
[user]
	name = zbf
	email = 798599414@qq.com

用户签名与登录GIthub的账号没有关系

3.2 初始化本地库

git init

成功后会在目录下生成一个**.git**文件夹

3.3 查看本地库状态

git status

会显示:
On branch master(当前本地库所在的分支)

No commits yet

nothing to commit (create/copy files and use “git add” to track)

3.4 添加暂存区

git add 文件名

3.5 提交到本地库

git commit -m "日志信息" 文件名


pfomic@DESKTOP-5FG49AC MINGW64 /d/Git-Space/git-demo (master)
$ git commit -m "1.1" hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory
[master (root-commit) 9021fd2] 1.1
 1 file changed, 10 insertions(+)
 create mode 100644 hello.txt

3.6 查看历史记录

git reflog (简略版)
git log (详细版)


pfomic@DESKTOP-5FG49AC MINGW64 /d/Git-Space/git-demo (master)
$ git reflog
9021fd2 (HEAD -> master) HEAD@{0}: commit (initial): 1.1

commit 9021fd2d721efdcd43b31baa1cf47fb937098b73 (HEAD -> master)
Author: zbf <798599414@qq.com>
Date:   Tue Sep 14 16:27:20 2021 +0800

    1.1

版本穿梭

  1. 使用git reflog 查看版本号
  2. 使用git reset --hard 版本号进行版本穿梭

再次查看记录会发现指针已经指向指定的版本号,并且最新版本后做出了相关的连接解释

在这里插入图片描述

4. 分支

在版本控制过程中,同时需要推进多个任务,是每个任务单独创建分支,从而把自己的工作与主线工作分离开。在开发自己的分支时不会影响到主线的工作。
在这里插入图片描述

优点:并行推进多个功能开发,提高开发效率,如果一个分支开发失败不会影响到其他主线或者分支

基本操作

命令作用
git branch -v查看分支
git branch 分支名创建分支
git checkout 分支名切换分支
git merge 分支名使指定分支合并到当前分支上

4.1 查看分支

git branch -v 


$ git branch -v
* master 9b7d482 1.2

4.2 创建分支

git branch 分支名


pfomic@DESKTOP-5FG49AC MINGW64 /d/Git-Space/git-demo (master)
$ git branch hot-fix

pfomic@DESKTOP-5FG49AC MINGW64 /d/Git-Space/git-demo (master)
$ git branch -v
  hot-fix 9b7d482 1.2
* master  9b7d482 1.2

4.3 切换分支

git checkout 分支名

windows系统下,切换分支后最后面的小括号会变成当前分支的名字

还可以使用git branch -v命令进行查看,会发现*指向了当前的新分支,且名字变成绿色

在这里插入图片描述

并且.git/HEAD文件夹中也变为了hot-fix

在hot-fix修改文件

4.4 合并分支

git merge 分支名


例:将hot-fix 合并到master中
# 先转换到master中
pfomic@DESKTOP-5FG49AC MINGW64 /d/Git-Space/git-demo (hot-fix)
$ git checkout master
Switched to branch 'master'
# 在进行合并
pfomic@DESKTOP-5FG49AC MINGW64 /d/Git-Space/git-demo (master)
$ git merge hot-fix
Updating 9b7d482..dbab7ea
Fast-forward
 hello.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

冲突合并

当两个分支在同一个文件有两套不同的修改,Git无法决定用哪个,需要人为决定代码内容。

决定完代码后需要重新提交暂存区,提交本地库但git commit后面不能加文件名

5. GitHub操作

常用命令

命令作用
git remote -v查看当前所有远程地址别名
git remote add 别名 远程地址起别名
git push 别名 分支推送本地分支上的内容到远程仓库
git clone 远程地址克隆到本地
git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

5.1 创建远程库

在这里插入图片描述

在这里插入图片描述

5.2 创建远程库别名

git remote -v        			# 查看别名
git remote add 别名 远程地址    	# 创建别名

pfomic@DESKTOP-5FG49AC MINGW64 /d/Git-Space/git-demo (master)
$ git remote add git-demo https://github.com/798599414/git-demo.git

pfomic@DESKTOP-5FG49AC MINGW64 /d/Git-Space/git-demo (master)
$ git remote -v
git-demo        https://github.com/798599414/git-demo.git (fetch)
git-demo        https://github.com/798599414/git-demo.git (push)

5.3 推送分支

git push 别名 分支			# 最小单位为分支

在这里插入图片描述

pfomic@DESKTOP-5FG49AC MINGW64 /d/Git-Space/git-demo (master)
$ git push git-demo master
Enumerating objects: 30, done.
Counting objects: 100% (30/30), done.
Delta compression using up to 4 threads
Compressing objects: 100% (20/20), done.
Writing objects: 100% (30/30), 2.15 KiB | 313.00 KiB/s, done.
Total 30 (delta 9), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (9/9), done.
To https://github.com/798599414/git-demo.git

 * [new branch]      master -> master

5.4 拉取

git pull 别名 分支	

pfomic@DESKTOP-5FG49AC MINGW64 /d/Git-Space/git-demo (master)
$ git pull git-demo master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 647 bytes | 34.00 KiB/s, done.
From https://github.com/798599414/git-demo
 * branch            master     -> FETCH_HEAD
   8cb0c2a..85eec35  master     -> git-demo/master
Updating 8cb0c2a..85eec35
Fast-forward
 hello.txt | 1 +
 1 file changed, 1 insertion(+)

拉取后自动上传本地库

5.5 克隆

git clone 链接

需要先获取到代码的链接,再进行克隆

克隆不需要登陆账号

克隆完会自动初始化本地库,建立别名

5.6 团队合作

团队内协作

先要请进入团队

在这里插入图片描述
在这里插入图片描述

发送邀请函

在这里插入图片描述

接受邀请
在这里插入图片描述

跨团队协作

先找到对方团队的github项目,点击fork叉到自己团队下

在这里插入图片描述

修改代码完成后向对方团队发送拉取请求
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

对方团队操作:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.7 SSH免密登录

生成公钥

ssh-keygen -t rsa -C GItHub用户名

账户设置
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

使用ssh拉取代码

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rich_Z_b_f

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值