添加远程仓库
添加远程仓库以及关于git的一点疑问
在添加远程仓库前要先确保以完成ssh部署,具体参考这篇文章github ssh部署记录
1.如何克隆远程仓库到本地
-
首先获取远程仓库的URL
(1)打开github上自己想要添加的远程仓库
(2)点击绿色的code按钮
(3)选择ssh选项(我这里用的ssh部署)
(4)复制URL可以参考下图
- 将本地目录初始化成git可管理的仓库
在gitbash终端键入命令git init
注意要在你要当成本地仓库的路径下(也就是你准备存放源代码等文件的地方)执行。如果跳过了这步则会在添加远程仓库时显示:fatal: Not a git repository (or any of the parent directories): .git
- 添加远程仓库的URL
在gitbash终端键入命令git remote add origin git@github.com:自己的GitHub账户名/自己的仓库名.git
origin是远程库的名称(你也可以换成其他的),origin后面的是前面复制的URL
- 查看已添加的远程仓库信息
在gitbash终端键入命令git remote -v
每个仓库都会有两个URL如下所示:
origin https://github.com/OWNER/REPOSITORY.git (fetch)
origin https://github.com/OWNER/REPOSITORY.git (push)
前面的origin是(默认的)仓库名称,后面的URL带有(fetch)的是拉取远程仓库数据的URL,带有(push)的是向远程仓库推送的URL。"(fetch)"和"(push)"分别表示从远程仓库拉取和推送更改的路径。当你运行git fetch命令,Git会从远程仓库(在这种情况下是"origin")获取最新的提交和分支信息,并将其存储在本地仓库中。当你运行git push命令时,Git会将本地的提交推送到远程仓库(同样是"origin") - 完成到这里就可以开始向远程仓库推送和拉取数据了
2.fetch & push
-
git push推送数据
要向远程仓库推送首先要将修改提交到本地仓库,步骤如下:
(1)在gitbash键入命令git add (改动的文件) 如:git add code.py
将文件的改动添加到暂存区中
关于工作区、暂存区和版本库可以参考这篇文章:Git 工作区、暂存区和版本库
(2)接着键入命令git commit -m '关于改动的描述'
将暂存区提交到版本库
(3)键入命令git push origin master
将本地的master分支(init时默认创建的分支)推送到远程仓库
origin是你想要推送的目的远程仓库主机名(在前面的添加远程仓库步骤中已经将origin和目的github仓库关联起来了),master是要推送的本地仓库分支,如果远程仓库没有该分支就会创建一个新的名为master的分支。 关于git分支可以参考这篇文章:Git分支管理如果在github创建仓库时生成了readme文档则无法直接向该远程仓库推送修改 (会提示:
[rejected] master -> master (fetch first)error: failed to push some refs.
)
这时要先用命令:git pull --rebase origin master
将远程仓库的readme拉取到本地仓库。这里的origin和master含义同上
3.在github主页面部署密钥和在仓库设置中部署的区别
在 GitHub 主页面部署密钥时,该密钥将成为您的全局部署密钥。这意味着该密钥可以用于对您所有的仓库进行操作,包括克隆、推送和拉取等。而在仓库设置中部署密钥时,该密钥将仅限于对该特定库起作用。这种方式更加灵活,因为您可以为每个仓库设置不同密钥,以控制对仓库的访问权限。