git常用命令-----与远程仓库交互

1.克隆远程仓库

git clone [gitserver address]  将远程存储库master分支克隆到当前目录,目录名与远程仓库目录名相同

git clone -b [remote branch name] [gitserver address] 表示克隆名为remote branch name的这个分支

git clone [gitserver address]  [ localbranchdir name]将远程存储库master分支克隆到当前目录,并重新定义本地目录名称为 localbranchdir name

 

 

2.增加与查看远程仓库

git remote add < localshortname> [gitserver address]   添加gitserver address远程仓库,可以指定一个简单的名字 localshortname指代gitserver address

git remote 查看所有的远程仓储名称

git remote -v 查看关联的所有的远程仓储名称及地址

git remote show [gitserver address] 将会显示出gitserver address远程仓库的详信息([gitserver address]可以用< localshortname>代替)

git remote rename [old localshortname] [new  localshortname] 重命名远程仓库简称

git remote rm [gitserver address]  解除与远程仓库的关系

 

 

3.上传数据到远程仓库

上传数据到远程仓库一般形式为 git push <选项> <远程主机名> <本地分支名>  <远程分支名>

git push [remote]推送当前分支到[remote]远程仓库

git push [remote] --force强行推送当前分支到远程仓库,即使有冲突

git push [remote] --all 推送所有分支到远程仓库(不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机)

git push [remote] [local branch]上传本地指定分支到远程仓库

示例:

git push  如果当前分支只有一个远程分支,那么主机名都可以省略,就可以推送当前分支到远程仓库

git push origin  如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支

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

git push -u origin master  如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用git push

git push origin :refs/for/master  推送一个空的本地分支到远程分支,等同于git push origin --delete master

 

 

4.下载数据到本地仓库

下载数据到本地仓库语法:git pull <选项> <远程主机名> <远程分支名>:<本地分支名>

git pull <远程主机名> <远程分支名>:<本地分支名>要取回远程主机的远程分支,与本地分支合并

git pull <远程主机名> <远程分支名>   取回取回远程主机的远程分支并与当前分支合并

git pull <远程主机名> 本地的当前分支自动与对应的远程主机的已建立追踪关系分支进行合并

git pull 当前分支自动与唯一的一个追踪分支进行合并

示例:

git pull origin next:master

git pull origin next

git pull origin

git pull

以上pull可以换成fetch

git fetch和git pull的区别:git fetch:相当于是从远程获取最新版本到本地,不会自动合并。git pull:相当于是从远程获取最新版本并merge到本地

git fetch origin mastergit

log -p master..origin/master

git merge origin/master

以上三行命令的含义:首先从远程的origin的master主分支下载最新的版本到origin/master分支上,然后比较本地的master分支和origin/master分支的差别,最后进行合并,用以下三行命令表示更清晰

git fetch origin master:tmp

git diff tmp

git merge tmp

git pull origin master命令其实相当于git fetch 和 git merge

 

 

5.远程分支操作

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

git branch --track [branch] [remote-branch]   新建一个分支,与指定的远程分支建立追踪关系

git branch --set-upstream [branch] [remote-branch]  在现有分支与指定的远程分支之间建立追踪关系

git branch -u  [remote-branch]    当前分支与指定的远程分支之间建立追踪关系

git branch -dr [remote/branch]  (git push origin --delete [branch-name])   删除远程分支

git checkout -b [new branch] [start branch]  创建new branch分支并从start branch开始,start branch可以是远程的分支

 

对于删除远程仓库文件或回滚远程仓库版本需谨慎,用ssh [远程仓库主机地址]登入确认后再操作较为安全如ssh gitserver@192.168.XXX

转载于:https://www.cnblogs.com/jest549/p/11481653.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值