目录
- 1 创建远程库
- 2 远程库操作相关命令
- 2.1 创建远程库别名
- 2.2 推送本地分支到远程库
- 2.3 克隆远程库到本地
- 2.4 拉取远程库内容
- 解决每次push都需要输入下图中github用户名、密码问题
1 创建远程库
登陆GitHub,点击右侧加号,点击New Repository
进入下面的页面:
创建成功。
2 远程库操作相关命令
常用命令:
命令 | 作用 |
git remote -v | 查看当前所有远程库的别名 |
git remote add 远程库别名 远程库地址 | 将本地库与远程库关联起来,或者为远程库起一个别名 |
git push 远程库别名 本地库分支名 | 推送本地分支上的内容到远程库 |
git clone 远程库地址 | 将远程库的内容克隆到本地 |
git pull 远程库别名 远程库分支名 | 将远程库对于分支最新内容拉取下来后,与当前本地分支直接合并 |
命令的补充:
git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿。
git push <远程主机名> <本地分支名>:<远程分支名>
注意1:这里的:前后是必须没有空格的。
注意2:分支推送顺序的写法是<来源地>:<目的地>,
所以git push 是<本地分支>:<远程分支>,而git pull是<远程分支>:<本地分支>
如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。
git push origin :master
等同于:
git push origin --delete master
上面命令表示删除origin主机的master分支。
如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。
git push origin
上面命令表示,将当前分支推送到origin主机的对应分支。
如果当前分支只有一个追踪分支,那么主机名都可以省略。
git push
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。
git push -u origin master
上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
2.1 创建远程库别名
命令:
-
git remote -v
查看当前所有远程库的别名 git remote add 远程库别名 远程库地址
操作:
2.2 推送本地分支到远程库
命令:
git push 远程库别名 本地库分支名
操作:
结果:
2.3 克隆远程库到本地
这是最简单的,也是经常操作的,因为很多时候需要在GitHub上下载一个项目,这时候就可以通过克隆到本地,这里直接给出命令,不操作了。
命令:
git clone 远程库地址
远程库地址位置:
再补充一些:克隆到本地的项目中有一个隐藏目录:.git,说明已经初始化本地仓库。在克隆下来的项目中打开git,输入git remote -v
,显示如下:
综上所述:克隆会做三个操作:拉取代码、初始化本地仓库、创建别名。
2.4 拉取远程库内容
如果远程库的内容发生了改变,这里以远程库c.txt文件添加一行内容为例:
这时候本地库和远程库内容就不同了,如何保持二者同步呢?
命令:
git pull 远程库别名 远程库分支名
操作:
注意:
如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错 (fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数–allow-unrelated-histories,即:
git pull --allow--unrelated-histories
解决每次push都需要输入下图中github用户名、密码问题
问题:
解决方法:修改本地库文件夹下的隐藏目录.git中的config配置文件
这样修改之后,以后再将本地库通过git push推送到github远程库时,就不需要再输入用户名、密码了。但是对于每一个本地库,都需要在其文件夹下按照上述方法进行修改。