git remote # 查看远程库的信息
git remote -v # 显示更详细的信息
# 显示了可以抓取和推送的origin的地址。如果没有推送权限,就看不到push的地址
git push origin master # 把该master分支上的所有本地提交推送到远程库。
# 推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上
git push origin dev # 把dev分支上的所有本地提交推送到远程库
并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?
master分支是主分支,因此要时刻与远程同步;
dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
git remote add <remote-name> <url> # 添加一个远程仓库
git remote add origin https://github.com/.git
# 如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,使用以上命令添加, 就能够将你的改动推送到所添加的服务器上去了
git remote rename demo test # rename
git remote remove dev # 删除一个远程仓库
git remote rm test # 删除一个远程仓库
# 从远程仓库获取数据:
git fetch origin develop # 只是获取远程仓库的数据至 .git 目录,并未merge本地
git merge origin/develop # 把获取的远程仓库的数据手工merge至当前分支
git pull origin develop # 获取远程仓库的数据,并自动merge至当前的分支,相当于以上两步
# 合并两个不同的项目:
--allow-unrelated-histories
# 把本地仓库的内容推送到远程库上:
git push (-u) demo develop(从svn迁移到gitlab注意路径,要确保路径正确)
注:由于远程库是空的,我们第一次推送master分支时,加上了-u参数,
Git不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,
在以后的推送或者拉取时就可以简化命令。
从远程分支 checkout 出来的本地分支,称为跟踪分支(tracking branch)。跟踪分支是一种和远程分支有直接联系的本地分支。
在跟踪分支里输入git push,Git 会自行推断应该向哪个服务器的哪个分支推送数据。反过来,在这些分支里运行git pull 会获取所有远程索引,
并把它们的数据都合并到本地分支中来。
git push origin develop:test # 提交本地 test 分支作为远程的 develop 的分支
git push origin :test # 删除远程的 test 分支,但是本地还会保存的
git push origin test:master # 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支
git push origin test:test # 提交本地test分支作为远程的test分支