git操作指南
git
- 分布式版本控制系统
- 方便我们管理这些不同版本的文件
- 多人协作
安装
sudo apt install git
sudo apt-get install git
配置
git config --global user.email "你的邮箱地址"
git config --global user.name "你的名字"
配置一次即可
区域
- Remote:远程仓库
- Repository:本地仓库
- index:暂存区
- workspace:工作区
流程
创建远程仓库
github or gitee
创建本地仓库
mkdir
注意文件夹的命名要规范!!!
初始化仓库
进入文件夹
git init
添加远程仓库
git remote add origin http://*.git
origin 为远程地址的别名
例如:现在我有个地址名为rm-homework的仓库,那么我应该写的是:git remote add origin http://https://github.com/tan2003IT/rm-homework/.git
补充:
如果我一不小心数错了地址怎么办,跑别人家仓库里了,我在重新输入上条命令时,报错fatal: 远程 origin 已经存在。
输入git remote rm origin
来清除连接的远程仓库
重新输入git remote add origin http://*.git
即可
提交代码
- 工作区---->暂存区---->本地仓库---->远程仓库
- 工作区---->暂存区
git add 文件名/目录名 #添加文件到暂存区
git add . #添加所有文件
#查看文件状态
git status #新增文件和修改后的文件都是红色
git status -s #简短输出
git status -s
: 当你新加了个文件时,(没存在缓存区的就显示为):红色
- 暂存区---->本地仓库
git commit -m "信息描述" # commit 附带信息
这个附带信息查看在gihub上
3. 本地仓库---->远程仓库
git push origin master #上传代码到 master 分支
注意分支名!
还有一点,直接这样上传会报错 remote Support for password authentication was removed on August 13, 2021.
意思是自从 21 年 8 月 13 后不再支持用户名密码的方式验证了,需要创建个人访问令牌(personal access token)。
需要我们到github上创建令牌,然后上传
参考方法:https://blog.csdn.net/qq_50840738/article/details/125087816
在最后:
git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
将
<your_token>
换成你自己得到的令牌。<USERNAME>
是你自己github的用户名,<REPO>
是你的项目名称换成你自己得到的令牌。
是你的项目名称然后再次执行 pull push 操作,大功告成
当我在该文件夹下进行了git init
操作之后,我便可以
git remote set-url origin https://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@github.com/tan2003IT/hello-learn-git
之后在git push origin master
即可
下拉代码
- 远程仓库---->本地仓库[---->工作区]
- 远程仓库---->本地仓库
git clone http://*.git #clone 代码
- 本地仓库[---->工作区]
切换分支[可选,不切换就是默认分支]
更新代码
- 远程仓库---->本地仓库
git pull origin master
有时候主分支是master,有时候主分支是main
分支
查看分支
git branch
创建分支
git branch 分支名称
切换分支
git checkout 分支名称
合并分支
git merge 要合并的分支
要切换成你想最终保留的分支
就是我有个branch1分支,我要把他给贴到主分支上,那我要先
git checkout master
然后再git merge branch1
删除分支
git branch -d 分支名称
github、gitee
fork
这个是在别的项目里面,找到fork
,然后fork到自己的github仓库中,可以在自己的仓库中找到这个项目
然后从仓库里下载下来。
按照上述流程编辑一遍
还是老样子,会出现还有一点,直接这样上传会报错 remote Support for password authentication was removed on August 13, 2021.
意思是自从 21 年 8 月 13 后不再支持用户名密码的方式验证了,需要创建个人访问令牌(personal access token)。
再来一遍吧。。。
git remote set-url origin https://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@github.com/tan2003IT/homework-image_processing_tool
pull request
PR
在完成fork之后,我想把我写的代码提交到原来的项目管理者,那我要PR
coursework
-
gitee\github创建远程仓库
-
创建本地仓库、helloworld程序
-
上传到自己仓库
-
每组clone自己组内的代码
更新第三方库
git submodule update --init --recursive
github
修改仓库名字&&主分支
在自己的项目仓库里找到settings(设置)
在第一栏可以修改仓库名字
第二栏可以修改分支名字
添加/删除/修改分支
我们可以看到点开分支有个View all branches,打开后可以修改添加删除分支
删除某一分支的内容
在github上,某一分支的具体某个文件是无法在网页上进行删除的,我们要将该分支git clone
下来,然后在本地删除具体文件,然后在上传上去
具体操作:
如何在git中删除指定分支中指定的文件或文件夹
拉取远程仓到本地
git clone ××
cd ×××
查看分支
git branch -a
切换到想要操作的分支
git checkout 想要操作的分支
在本地仓库删除文件
git rm 我的文件
在本地仓库删除文件夹
git rm -r 我的文件夹/
# 此处-r表示递归所有子目录,如果你要删除的,是空的文件夹,此处可以不用带上-r。
提交代码
git commit -m”我的修改”
推送到远程仓库(比如GitHub)
git push origin 想要操作的分支
该操作来源:https://blog.csdn.net/u011280600/article/details/80170494
同样,在上传该仓库时,遇到了令牌的问题,上文有说明,不再赘述
设置保护规则
当将某个分支设置为主分支后,会出现:
这是分支保护的意思:
某个分支不想让别人动,就把这个分支设置为保护分支,并且只有授权的用户才可以向这个分支推送代码
在实际使用过程中,我们通常会保持 master 分支稳定,用于生产环境的版本发布,只有授权的用户才可以向 master 合并代码。
要实现此功能,我们需要将 master 设置为保护分支,并授权什么用户可以向 master 用户推送代码。