Git 管理远程仓库
一、文档链接
链接:https://pan.baidu.com/s/1ALn_IGq4qo9D-EetoWCPqw
提取码:ufx6
二、操作流程
(一)在GitHub上创建新的仓库
- 为你新建的仓库命名
- 添加必要的描述(
此描述相当于写入了Readme.md文件中,将会出现在仓库的首页
) - 选择为公开仓库
- 默认选择添加Readme文件
- Create repository
(二)URL选择
1. HTTPS URL
但是需要注意的是:从 2021 年 8 月 13 日开始,将在 GitHub.com 上对 Git 操作进行身份验证时不再接受帐户密码,而是使用个人访问令牌 (PAT) 代替密码向 GitHub 进行身份验证。
如何创建个人访问令牌?
-
单击 Settings
-
在左侧边栏中,单击 Developer settings
-
在左侧边栏中,单击 Personal access tokens(个人访问令牌)
-
单击 Generate new token(生成新令牌)
-
为你的令牌命名、选择令牌有限期、勾选 repo(要使用令牌从命令行访问仓库)
-
单击 Generate token(生成令牌)
-
将令牌复制到剪贴板 (离开此页面后,将无法再次看到令牌)
最后强调:个人访问令牌只能用于 HTTPS Git 操作
2. SSH URL
如何生成 SSH 密钥?
以下步骤仅针对 Win 系统, 关于 Linux 系统密钥的生成可参考:GitHub文档。
- 开启 Git Bash
- 命令行中输入:
ssh-keygen -t ed25519 -C "your_email@example.com"
(替换为自己的 GitHub 电子邮件地址)
(三)Git 操作手册
一、工作区、暂存区、本地库
二、远程库
三、Git 本地操作
(一)设置本地用户信息
- 查看信息
git config --global --list # 查看当前 git 的配置信息
- 修改信息
git config --global user.name "username"
git config --global user.email "email"
(二)本地仓库操作
<1> 初始化本地仓库
git init
<2> 将文件加入暂存区
git add . # 添加当前路径的全部文件
git add xxx # 也可指定某一文件
<3> 删除操作
git rm --cached <file> # 删除暂存区文件
git rm <file> # 删除暂存区 以及 工作区文件
# 命令中加入 -r 递归删除文件夹
<4> 将暂存区内容提交到本地仓库
git commit -m "备注信息"
"""
[master (root-commit) efd61b9] first commit
239 files changed, 69507 insertions(+)
create mode 100644 version1.1/CORE/core_cm3.c
create mode 100644 version1.1/CORE/core_cm3.h
"""
(三)分支操作
<1> 查询分支
git branch -a # 查询所有分支(本地库 以及 远程库)
git branch -r # 查询所有远程库分支
git branch # 查询所有本地库分支
<2> 创建新的分支并切换当前分支
git branch # 查询现有分支
git branch Gch_branch # 创建 Gch_branch 分支
git checkout Gch_branch # 切换到 Gch_branch 分支
git checkout -b Gch_branch # 相当于上面两句的合并
<3> 删除分支
git branch -d Gch_branch
<4> 合并分支
git merge
- 合并冲突
四、Git 远程库操作
要提前在 GitHub
创建好仓库
(一)创建远程库别名
git remote add origin git@github.com:GChenH/NB-IoT.git
(二)查看远程库别名
git remote
"""
origin
"""
git remote -v # 可以看到每个别名的实际链接地址
"""
# 因为既可以拉取也可以推送,所以有两个。
origin git@github.com:GChenH/NB-IoT.git (fetch)
origin git@github.com:GChenH/NB-IoT.git (push)
""
(三)删除、修改远程库别名
- 删除远程库别名
git remote rm origin
- 修改远程库别名
git remote rename origin dev
(四)本地库推送到远程库
git push origin master # 本地分支与远程分支相同 可省略冒号后的
(五)远程库拉取到本地库
git pull origin master # 合并当前本地分支与远程分支 可省略冒号后的
上面命令表示,取回 origin/master 分支,再与本地的 master 分支合并
git pull origin master:dev
上面命令表示,取回 origin/master 分支,再与本地的 dev 分支合并。
(六)拷贝远程仓库到本地
git clone git@github.com:GChenH/NB-IoT.git
(七)删除远程库分支
git push origin -d main
"""
To github.com:GChenH/NB-IoT.git
- [deleted] main
"""
五、对开源项目做出贡献
-
fork
开源项目到自己的仓库中 -
clone
到本地 -
在本地进行调试、修改
-
push
进fork
的仓库 -
对项目作者发出
pull request
-
等待其回复
merge or not
六、注意
- 几乎所有的操作都是在本地进行,最后再
git push
到远程仓库 - 在对本地文件做更改后,一定要先更新暂存区,再进行
commit
到本地库,最后git push
,否则不会修改远程库的内容 - 对远程库的操作最好是基于别名,使用链接比较麻烦