Git使用方法
安装Git并配置环境
-
Linux中使用命令:
sudo apt install git
-
Windows中参考教程:https://blog.csdn.net/m0_61938930/article/details/136774244
配置用户名和邮箱
git config [--global] user.name "xxx"
git config [--global] user.email "xxx"
添加
--global
参数就是设置全局的,不加就只是设置当前项目的
添加SSH Key
-
ssh-keygen -t rsa -C "some comment"
-
cat ~/.ssh/id_rsa.pub
:这个文件名跟你上一步设置有关
-
在GitHub上将新建的SSH Key添加进去
-
ssh -T git@github.com
:测试是否连接成功
基本使用方法
克隆项目
git clone <repository_url>
cd <project_name>
如果仓库中包含有子模块,则还需要使用命令
git submodule update --init --recursive
下载子模块
新建仓库
在Github中新建一个远程仓库,之后按照如下命令创建本地仓库并上传文件到远程仓库中
效果如下图:
git init
:初始化本地仓库(先进入需要上传到Github远程仓库的本地项目文件夹中)
git add <file_name>/<dir_name>
:添加本地文件/路径到本地仓库中
git commit -m "some comment"
:提交一次commit(没有修改本地仓库需要提交commit之后才能上传修改到远程仓库)
git branch -M main
:将当前分支重命名为main(这步操作可以省略)
git remote add origin <repository_url>
:添加远程仓库<repository_url>并命名为origin
git push [-u|--set-upstream] origin main
完整形式是:
git push origin main:main
将本地仓库
main
分支中的代码推送到远程仓库的main
分支中,当两个分支名相同时可以简写添加
-u
参数,执行一次后,之后再进行同一分支操作时可以简写成git push
新建分支
新建不同分支有助于合作开发项目,不同分支之间代码可以不相同,项目完成后可以合并分支,将不同的分支的代码进行合并
git branch -c|-C <new_branch_name>
:创建新分支
git switch <new_branch_name>
:切换到新分支
以上两个操作可以使用一个命令完成:
git checkout -b <new_branch_name>
git push origin <new_branch_name>:<new_branch_name>
:相当于在远程服务器中创建一个新的分支并将新分支的内容上传上去
更新仓库
对于远程仓库中的代码有更新,本地仓库中的内容没有更新时,可以使用以下命令进行更新:
git pull [origin] [main:main]
:将远程仓库origin的main分支中的修改更新到本地的main分支
合并分支
如果想将test
分支中修改的内容合并到main
主分支中,可以进行以下操作:
git switch main
git merge test
注:需要在
main
分支上执行git merge
命令
删除本地仓库中的文件
当你使用git add .
命令添加了当前路径的所有修改之后又想要删除某些文件/文件夹时可以使用以下命令:
git rm --cached <dir_name>/<file_name>
:删除<dir_name>
路径下的<file_name>
文件
git rm -r --cached <dir_name>
:递归删除路径<dir_name>
中的所有文件
如果有一些文件无法删除,或者终端有异常警告时可以添加参数
-f
强制删除如果不想要每次都手动删除文件可以添加
.gitignore
文件,详情见下条
gitignore
当项目文件夹中有一些较大的文件或者一些编译生成的文件不需要上传到远程github仓库时,可以在项目文件夹中创建一个名为
.gitignore
的文件,将需要省略的文件或文件夹列出来
基本语法:
逐行列出文件名,也可以使用通配符
test/ # 省略`./test/`文件夹下的所有文件
model.onnx # 省略`./model.onnx`文件
*.pt # 省略所有目录下的`xxx.pt`文件
协作开发
-
初始时就新建一个自己使用的开发分支,在该分支上进行修改,然后将新的分支push到远程仓库的新分支
-
有大的修改时也可以新建一个分支,然后将修改添加到该分支然后再提交修改