git 基本操作教程指南


一、什么是 Git?

Git 是一个分布式版本控制系统,主要用于跟踪项目文件和代码的变化。它允许多个开发者协作,支持高效的分支管理和快速的本地操作,每个开发者的工作副本都包含完整的版本历史,便于查看和恢复更改。Git 在开源项目和团队开发中广泛应用。

二、使用教程

1.初始化

任何想要通过 Git 进行操作的项目,都需要先进行初始化,在 Git 中,初始化的命令如下:

git init

这样,就能够在本地创建一个 Git 仓库,同时 Git 会创建一个隐藏的文件夹 .git,这里面存放了仓库的相关信息,历史提交记录等。因此,如果想要让一个 Git 仓库变为普通文件夹,仅需删除这个隐藏的文件夹即可。

2. 拉取远程仓库

而如果想要拉取现成的仓库,可以使用 git clone 命令,比如我要拉取 ultralytics 的代码,就要输入:

git clone https://github.com/ultralytics/ultralytics.git

git clone
这样就可以拉取想要的远程的代码仓库了。

一般情况下,远程仓库有许许多多的分支,默认情况下,Git 会拉取该远程仓库的 主要分支,如果要拉取其他分支,使用 -b 加上具体的分支名称,如:

git clone https://github.com/ultralytics/ultralytics.git -b rknn

3. 仓库的提交与修改

创建完仓库之后,就可以往里面写代码文件了,写了文件之后,可以使用 git status 查看当前的仓库情况,这里会记录这一次和上一次的变化,包括 删除(delete)添加(add)修改(modify) 等。
在提交代码的时候,需要先选择要添加的文件,命令为:

git add a.py b.py

这样就可以把当前的文件放在 暂存区 里,放 暂存区 里的文件仍然可以再次添加或者删除,而如果要从暂存区里移除文件,可以使用:

git rm a.py b.py

将暂存区的文件提交到本地仓库,需要执行:

git commit -m "提交信息"

具体提交信息可以是任意内容,可以是对于这次修改的简述,或是其他内容。

4. 多分支操作

有的时候,可能有多个新功能同时开发的需求,并行开发可能会导致互相冲突,这个时候可以在本地添加不同的分支,主要命令如下:

1. 切换到已存在的分支

git checkout <branch-name>

branch-name 为分支名称

2. 创建新分支并切换

git checkout -b <new-branch-name>

如果想要快速切换到前一个分支,可以用

git checkout -

这样可以省去写分支名称的步骤。

3. 本地分支合并

如果想要将本地的两个分支合并,比如我创建了一个 feature-branch ,在做好开发后想要合并到主分支(main)中,就要做如下操作:

git checkout main
git merge feature-branch

先切换到主分支,在使用 git merge 合并本地分支。注意:合并之后 原分支仍然存在,如果确实要删除,使用:

git branch -d feature-branch

这样就可以删除这个分支了。

5. 远程操作

1. 关联远程仓库

将本地仓库和远程仓库相关联需要用到 git remote,相关用法如下:

git remote add <remote_name> <remote_url>

remote_name 是远程仓库的别名,一般是 origin
remote_url 则为 远程仓库的 URL 链接。
Remote-URL
如:

git remote add origin https://github.com/wtcpython/WinUIEdge.git

2. 推送本地代码

将本地代码推送到远程则需要 git push 命令如下:

git push <远程主机名> <本地分支名>

如:

git push origin main

就是将本地的 main 分支推送到远程的 main 分支上。

3. 拉取远程代码

当本地的代码落后于远程仓库的代码时,就需要进行拉取,拉取时采用的命令有 git pullgit fetch
git pull 将远程代码拉取到 暂存区 的同时立即完成合并,因此如果代码存在冲突,会拉取失败。

git fetch 则仅仅是将代码拉取到 暂存区 中,需要手动进行合并。如果不确定本地和远程代码是否存在冲突,使用 git fetch 会更加安全。