文章目录
一、什么是 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 会拉取该远程仓库的 主要分支,如果要拉取其他分支,使用 -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 链接。
如:
git remote add origin https://github.com/wtcpython/WinUIEdge.git
2. 推送本地代码
将本地代码推送到远程则需要 git push
命令如下:
git push <远程主机名> <本地分支名>
如:
git push origin main
就是将本地的 main 分支推送到远程的 main 分支上。
3. 拉取远程代码
当本地的代码落后于远程仓库的代码时,就需要进行拉取,拉取时采用的命令有 git pull
和 git fetch
git pull
将远程代码拉取到 暂存区 的同时立即完成合并,因此如果代码存在冲突,会拉取失败。
而 git fetch
则仅仅是将代码拉取到 暂存区 中,需要手动进行合并。如果不确定本地和远程代码是否存在冲突,使用 git fetch
会更加安全。