一个有趣的 Git 练习网站

BlueStragglers 共享技术成长的快乐

前一阵子整理一个 GitHub 项目,整得焦头烂额。

一个项目我只上传了一部分文件上去,等到想要上传剩下的部分时,却告诉我无法完成提交。

因为对 Git 的操作还不是特别熟练,所以我最后只能采用了一个笨方法:下载 GitHub Destop 拖拽式上传。

为了以后不再出现这种尴尬的事情,我决定好好复习 Git 知识。

于是,我就找到了这个有趣的 Git 练习网站:Learn Git Branching

image-20210625154024547

  • Git For Branching 界面。还是非常美观的。

经过学习后,我发现我的问题可能是 2.8 节所指出的,远程服务器的拒绝。

以下是我学习过程整理的记录。

1. 主要内容

1.1 Git 的思路

Git Commit 的提交记录保存的是文件快照,类似复制粘贴。

通过 diffing 算法,将当前版本与上个版本比较,并将差异保存起来作为提交记录。

Git 保存了提交历史记录。

// 提交
git commit

1.2 Git Branch

Git Branch 的分支思路也非常轻量化,仅仅指向某个提交记录。

建议早建分支,多建分支。

image-20210623095552620

建完分支后,要切换分支。可以用 checkout 命令。当然,checkout -b 可以创建的同时切换。

image-20210623095638258

image-20210623095759276

// 创建分支
git branch newImage
git commit
// 切换分支
git checkout newImage
git commit
// 创建并切换分支
git checkout -b bugFix

1.3 Git Merge

Git Merge 用于合并两个分支,会产生一个特殊节点,包含两个父节点。

image-20210623101910070

image-20210623160859786

image-20210623162530728

// 当前分支与目标分支合并
git merge bugFix
git checkout bugFix
git merge main
// 由于 main 的一个父节点是 bugFix
// 换句话说,main 继承自 bugFix
// 所以 Git 什么也没做

1.4 Git Rebase

Git Rebase 也是一种合并分支的方法。取出一系列提交记录,复制并放在另一个地方。

image-20210623163141161

image-20210623163403457

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 搭建一个Git服务器是一个相对容易的过程,以下是一个简单的步骤: 1. 获取一个Linux操作系统,如Ubuntu或CentOS。确保你具有root权限。 2. 在服务器上安装Git软件。使用以下命令在终端中运行: 对于Ubuntu系统: ``` sudo apt-get update sudo apt-get install git ``` 对于CentOS系统: ``` sudo yum update sudo yum install git ``` 3. 创建一个新用户来管理Git服务器。可以使用以下命令创建一个名为"git"的用户: ``` sudo adduser git ``` 设置一个密码并记录下来。 4. 切换到git用户。可以使用以下命令: ``` su git ``` 5. 创建一个专门用于存储Git仓库的目录。可以使用以下命令来创建目录并进入该目录: ``` mkdir gitrepo cd gitrepo ``` 6. 初始化Git仓库。使用以下命令: ``` git init --bare ``` 7. 退出git用户并返回root用户。 ``` exit ``` 8. 配置SSH认证。使用以下命令编辑SSH配置文件: ``` sudo nano /etc/ssh/sshd_config ``` 找到以下行并取消注释修改为"yes",确保SSH密钥认证是启用的: ``` PubkeyAuthentication yes ``` 保存并退出。 9. 重启SSH服务以使更改生效。使用以下命令: 对于Ubuntu系统: ``` sudo service ssh restart ``` 对于CentOS系统: ``` sudo systemctl restart sshd ``` 10. 现在你的Git服务器已经搭建完成。你可以通过用Git客户端克隆服务器上的仓库,例如: ``` git clone git@your_server_ip:/path/to/gitrepo.git ``` 替换"your_server_ip"为你的服务器IP地址,"/path/to/gitrepo.git"为你创建的Git仓库的路径。 这些步骤将让你能够在你的Linux服务器上搭建一个Git仓库,并开始使用。请注意,这只是最基本的过程,你还可以通过配置Git的其他特性来增强服务器的功能。 ### 回答2: 搭建一个Git服务器是使用Linux操作系统的常见任务之一。以下是一个简单的步骤指导,帮助你在Linux上搭建一个Git服务器。 1. 首先,在你的Linux服务器上安装Git软件。可以使用系统的包管理器来安装,比如在Ubuntu上可以使用以下命令:`sudo apt-get install git`。 2. 创建一个用于存储Git仓库的目录。可以选择在服务器的任意位置创建,比如 `/opt/git`。使用以下命令创建目录:`sudo mkdir /opt/git`。 3. 通过以下命令进入该目录:`cd /opt/git`。 4. 初始化一个裸仓库(Bare Repository),这是一个没有工作目录的纯粹的Git仓库,用于充当服务器上的中央仓库。使用以下命令创建裸仓库:`sudo git init --bare your_repository_name.git`。这里的`your_repository_name.git`是你想要创建的仓库的名称。 5. 设置仓库的权限。为了安全起见,只有具有权限的用户才能访问和推送到仓库。可以使用以下命令设置权限:`sudo chown -R git:git your_repository_name.git`。这里的`your_repository_name.git`是你刚才创建的仓库的名称。 6. 配置Git服务器,并启用SSH访问。编辑Git服务器的SSH配置文件,可以使用以下命令:`sudo nano /etc/ssh/sshd_config`。在配置文件中添加一行:`AllowUsers git`,然后保存并关闭文件。 7. 重启SSH服务以使配置生效:`sudo service sshd restart`。 8. 现在,可以通过SSH协议克隆或推送到你的Git服务器。例如,使用以下命令克隆仓库:`git clone git@your_server_ip:/opt/git/your_repository_name.git`。请记得将`your_server_ip`替换为你的服务器的IP地址,`your_repository_name.git`替换为你刚才创建的仓库的名称。 通过按照上述步骤,在Linux上搭建一个Git服务器并完成相关配置,你就可以在服务器上管理和共享你的Git仓库了。 ### 回答3: 要搭建一个基于Linux操作系统的Git服务器,需要以下步骤: 1. 安装Linux操作系统:在一台服务器上安装Linux系统,可以选择Ubuntu、CentOS等常见的发行版。 2. 安装Git软件:使用Linux系统的包管理器,如apt-get(Ubuntu)或yum(CentOS),安装Git软件。 3. 创建Git用户和组:通过命令行创建一个Git用户和一个属于该用户的组,用于管理Git仓库的访问权限。 4. 安装SSH服务:Git使用SSH协议进行远程仓库的访问和通信。确保安装并启动SSH服务,配置允许Git用户进行SSH访问。 5. 切换到Git用户:通过命令行切换到Git用户,以执行后续的操作。 6. 创建Git仓库:使用Git命令创建一个新的仓库,可以使用"git init"命令来初始化一个空的仓库。 7. 配置Git仓库:通过"git config"命令配置Git仓库的参数,例如仓库名称、用户名、邮箱等。 8. 设置Git远程访问:通过SSH协议设置Git远程访问,提供SSH公钥给用户,以便他们可以通过SSH协议访问Git仓库。 9. 设置Git核心服务器钩子:在Git服务器上配置钩子,可以在提交代码或推送代码等操作时触发一些自定义的操作。 10. 测试Git服务器:确保配置正确且服务器正常运行后,使用Git命令测试访问Git仓库的各种操作,如克隆、提交、推送等。 通过以上步骤,就可以在Linux系统上成功搭建一个Git服务器,为团队提供代码托管和版本控制的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值