在另一台电脑上新增第二个仓库过程记录
1.先按照教程在这台新电脑上全新安装了vscode\Git bash(安装过程-饥人谷),顺手装了node.js,但是跟接下来要做的事没关系.
2.在git bash里运行
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
3.配置git
git config --global user.name maolpha
git config --global user.email maolpha@hotmail.com
git config --global push.default simple # 本来我写的是 matching,不过想了想可能 simple 更好--方方
git config --global core.quotepath false #防止文件名变成数字
git config --global core.editor "vim" # 使用vim编辑提交信息
正好引起了好奇心,找到两篇文章,先放在这,学一段时间回头看能不能看懂
看了还是不懂push所有branch和push一个branch会有什么区别影响.
git push can push all branches or a single one dependent on this configuration:Push all branchesgit config --global push.default matching It will push all the branches to the remote branch and would merge them. If you don't want to push all branches, you can push the current branch only.Push only the current branchgit config --global push.default simple So, it's better, in my opinion, to use this option and push your code branch by branch. It's better to push branches manually and individually.
4.在git上新增了一个ssh key,知道这玩意是拿来免密码登录的,反正先配一个吧.ssh在git bash中获取到了
ssh-keygen -t rsa -b 4096 -C "maolpha@hotmail.com"
一路回车
$ cat ~/.ssh/id_rsa.pub
新增ssh key完成了.但是看了眼repository的页面跟昨天不一样,没有昨天那几行代码.我直接点新增repository就新增出来了,有点懵.
看了下昨天的截图,这个代码写的是用命令行新增repository,我新增好了,这个代码的步骤应该是没用了.
然后就想,我有repository了,应该要想办法把vscode里的代码传到repository里.google了一下'vscode推送git',找到了这篇文章,按它的指示,进行了后面的操作.
5.在git页面的repository找到了clone按钮,复制链接
https://github.com/MRF3247/playInComp.git
右键一个文件夹'git bash here',打开了git bash,然后用命令
git clone https://github.com/MRF3247/playInComp.git
提示如下
$ git clone https://github.com/MRF3247/playInComp.git Cloning into 'playInComp'... remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done.
大概是成功了,不过我是'git bash here'了一个叫'playInComp'的文件夹,结果clone repository到这个文件夹下面又生成了'playInComp'(repository的名字),套了两个文件夹.在里面的这个文件夹里面写页面,在vscode里就可以推送了^ ^.
应该是clone这个repository到本地,里面有什么文件被vscode识别了?反正vscode的源代码管理里面自动显示可以推送了.不知道原理到底是不是这个?
push本地的文件夹,google了一下看到这么一段话,留着自己看.
推送到远程仓库当你想分享你的项目时,必须将其推送到上游。 这个命令很简单:git push [remote-name] [branch-name]。 当你想要将 master 分支推送到 origin 服务器时(再次说明,克隆时通常会自动帮你设置好那两个名字),那么运行这个命令就可以将你所做的备份到服务器:$ git push origin master只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。 当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。 你必须先将他们的工作拉取下来并将其合并进你的工作后才能推送。 阅读 Git 分支 了解如何推送到远程仓库服务器的详细信息。
3.branch我自己猜了一下,一下纯属瞎猜程度的理解:
是不是说对一个文件的修改动作被分成了很多branch,每个branch包含了一个时间点里对文件的修改动作(就好像树在不同时间长出来的树枝一样).matching是把所有的修改动作分别提交到git上(比喻成把树枝都砍下来提交),simple是直接把整棵树都提交上去?
这篇写的其实没什么实际内容,主要是记录了下自己反复尝试新增repository的过程,小结一下:
1.先在github上新增一个repository,新增的时候不要勾选'默认创建readme.md'选项,这样会有提示你可以按照他给的命令行在git bash里新增readme.md然后push到这个repository里,敲命令行之前记得先git bash一个目标文件夹,这样弹出的git bash里输入git init就能直接创建'.git'文件了.
2.安装vscode之后再git里输入如下命令行就可以使用vscode推送到github了~
git config --global user.name 你的英文名
git config --global user.email 你的邮箱
git config --global push.default matching
git config --global core.quotepath false
git config --global core.editor "vim"
3.复制目标repository的地址,然后git bash一个目标文件夹,输入命令行git clone xxxx(填地址),就可以把github的repository clone到本地文件夹里了.
4.ssh key的使用方法可以看这篇文章,反正就是给一个免登录的方式,让git bash直接操作github了.每在一个新电脑上登录都要新增一个ssh key.