1、原理
远程版本库:在github上所需要下载的项目
本地工作区:下载到本地的models-pytorch项目
本地版本库:本地的.git文件夹,它会记录在本地修改的各种分支等
本地暂存区:在.git文件夹下存放了很多东西,其中有一个就是暂存区(stage)
.git下还放着自动创新的第一个分支(master),这也是主分支,其他类型的分支均需要合并到master主分支上。
2、步骤
1)下载一个远程git项目到本地
git clone https://github.com/ZcsLv/gitskills.git
2)创新一个分支(本地的)
git branch 分支名
重命名分支
git branch -m 原来的分支名 新的分支名
删除分支
git branch -d 分支名
切换分支
git checkout 分支名
提交修改的内容到暂存区,也就是修改本地的工作区的内容
假如我现在修改的是readme.md文件
git add readme.md
提交所有的修改文件到暂存区,假设现在不仅仅修改了一个文件
git add .
查看文件提交状态
git status 文件名
3)提交本地暂存区到本地版本库
git commit -m "写原因"
4) 将本地版本库提交到远程版本库
git push origin 分支名
origin表示远程版本库的地址
遇到的bug:
Logon failed, use ctrl+c to cancel basic credential prompt.
remote: Support for password authentication was removed on August 13, 2021. Plea
remote: Please see https://github.blog/2020-12-15-token-authentication-requireme
fatal: Authentication failed for 'https://github.com/ZcsLv/models-pytorch.git/'
解决:GitHub不再支持密码验证解决方案:SSH免密与Token登录配置 - 腾讯云开发者社区-腾讯云
5) 将分支合并到main主分支上,一般最后确定了才会merge到main上
在github页面上去手动merge
合并完之后远程版本库的内容就会修改了。
6)从远程版本库pull到本地版本库
daily/0.0.1是分支名,可以pull任意分支的内容到本地版本库
git pull origin daily/0.0.1
7)
.gitignore
“设置哪些内容不需要推送到服务器,这是一个配置文件
touch .gitignore
.gitignore
不是 Git
命令,而在项目中的一个文件,通过设置 .gitignore
的内容告诉 Git
哪些文件应该被忽略不需要推送到服务器,通过以上命令可以创建一个 .gitignore
文件,并在编辑器中打开文件,每一行代表一个要忽略的文件或目录,如:
demo.html
build/
以上内容的意思是 Git
将忽略 demo.html
文件 和 build/
目录,这些内容不会被推送到服务器上
3、本地已有文件夹,如何连接到远程版本库?
如果在GitHub项目初始化之前,文件已经存在于本地目录中,那可以在本地初始化本地版本库,再将本地版本库跟远程版本库连接起来
1)生成本地.git文件
git init
2) 添加一个新的远程仓库,指定一个名字,以便引用后面带的URL
git remote add origin https://github.com/ZcsLv/models-pytorch.git
3)将远程版本库的更新取回到本地版本库
git fetch origin daily/0.0.1