目录

  • 1 创建远程库
  • 2 远程库操作相关命令
  • 2.1 创建远程库别名
  • 2.2 推送本地分支到远程库
  • 2.3 克隆远程库到本地
  • 2.4 拉取远程库内容
  • 解决每次push都需要输入下图中github用户名、密码问题


1 创建远程库

登陆GitHub,点击右侧加号,点击New Repository

git建立远程仓库 git 远程仓库_git


进入下面的页面:

git建立远程仓库 git 远程仓库_elasticsearch_02


创建成功。

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 创建远程库别名

命令:

  1. git remote -v 查看当前所有远程库的别名
  2. git remote add 远程库别名 远程库地址操作:
  3. git建立远程仓库 git 远程仓库_git_03


2.2 推送本地分支到远程库

命令:

git push 远程库别名 本地库分支名操作:

git建立远程仓库 git 远程仓库_git建立远程仓库_04


结果:

git建立远程仓库 git 远程仓库_git_05

2.3 克隆远程库到本地

这是最简单的,也是经常操作的,因为很多时候需要在GitHub上下载一个项目,这时候就可以通过克隆到本地,这里直接给出命令,不操作了。

命令:

git clone 远程库地址远程库地址位置:

git建立远程仓库 git 远程仓库_git建立远程仓库_06


再补充一些:克隆到本地的项目中有一个隐藏目录:.git,说明已经初始化本地仓库。在克隆下来的项目中打开git,输入git remote -v,显示如下:

git建立远程仓库 git 远程仓库_大数据_07


综上所述:克隆会做三个操作:拉取代码、初始化本地仓库、创建别名。

2.4 拉取远程库内容

如果远程库的内容发生了改变,这里以远程库c.txt文件添加一行内容为例:

git建立远程仓库 git 远程仓库_大数据_08


这时候本地库和远程库内容就不同了,如何保持二者同步呢?

命令:

git pull 远程库别名 远程库分支名操作:

git建立远程仓库 git 远程仓库_远程库_09


注意:

如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错 (fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数–allow-unrelated-histories,即:

git pull --allow--unrelated-histories

解决每次push都需要输入下图中github用户名、密码问题

问题:

git建立远程仓库 git 远程仓库_大数据_10


解决方法:修改本地库文件夹下的隐藏目录.git中的config配置文件

git建立远程仓库 git 远程仓库_大数据_11


这样修改之后,以后再将本地库通过git push推送到github远程库时,就不需要再输入用户名、密码了。但是对于每一个本地库,都需要在其文件夹下按照上述方法进行修改。