沙滩星空的博客沙滩星空的博客

git远程库设置和git pull/git push详解

远程库增删改查

git remote add <远程库名> <远程库地址>
git remote remove <远程库名>
git remote rename <原远程库名> <新远程库名>
git remote set-url <远程库名> <远程库地址>
git remote -v # 查看所有远程库信息

git pull

git pull <远程主机名> <远程分支名>:<本地分支名>

比如,取回origin主机的next分支,与本地的master分支合并,需要写成下面这样。

git pull origin next:master

如果远程分支是与当前分支合并,则冒号后面的部分可以省略

git pull origin next

git push

git push <远程主机名> <本地分支名>:<远程分支名>

如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

git push origin master

如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。

#慎用!删除远程仓库的分支
git push origin :master
# 等同于
git push origin --delete master

建立追踪关系

git push -u origin master

Git远程库版本回退

1.回退本地仓库

git log
git reset --hard [commit id]

2.强制推送版本回退的更改到远程库

git push -f

如出现以下报错,说明远程仓库可能配置了不允版本回退。denyNonFastforwards = true

remote: error: denying non-fast-forward refs/heads/master (you should pull first)

解决:进入远程仓库,配置允许版本回退

git config receive.denynonfastforwards false
git远程库版本回退 git push -f命令 https://www.cnblogs.com/feynman61/p/9005252.html
设置git远程库允许版本回退 http://www.voidcn.com/article/p-semtiymh-bso.html

git branch -a # 列出远程和本地所有分支

git checkout -b newBrach origin/master # 下载 origin 远程库的 master 分支到新建的 newBranch 分支上。

基本命令

查看命令使用方式 help

git help remote

GIT-REMOTE(1)                     Git Manual                                GIT-REMOTE(1)

NAME
       git-remote - Manage set of tracked repositories

SYNOPSIS
       git remote [-v | --verbose]
       git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <name> <url>
       git remote rename <old> <new>
       git remote remove <name>
       git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
       git remote set-branches [--add] <name> <branch>...
       git remote get-url [--push] [--all] <name>
       git remote set-url [--push] <name> <newurl> [<oldurl>]
       git remote set-url --add [--push] <name> <newurl>
       git remote set-url --delete [--push] <name> <url>
       git remote [-v | --verbose] show [-n] <name>...
       git remote prune [-n | --dry-run] <name>...
       git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]

git pull 详解 https://blog.csdn.net/liuhaomatou/article/details/65935558
git push 详解 https://blog.csdn.net/loongkingwhat/article/details/84378386
未经允许不得转载:沙滩星空的博客 » git远程库设置和git pull/git push详解

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址