远程仓库
Github上的操作
申请一个github帐户,并在github上创建一个项目
本地项目上的操作
添加远程仓库
git remote add origin https://github.com/ldq19/test22.git
注意:把上面的ldq19替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你没有我的帐号密码或SSH Key公钥不在我的账户列表中。添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
查看已添加了那些远程仓库
root@DESKTOP-33IBDMI:/mnt/e/git# git remote -v
object https://github.com/ldq19/test11.git (fetch)
object https://github.com/ldq19/test11.git (push)
origin https://github.com/ldq19/test22.git (fetch)
origin https://github.com/ldq19/test22.git (push)
推送到远程仓库
格式:git push [remote-name] [branch-name]
举例:git push -u origin master #把master分支推送到远程的master分支(没有会自动创建)
举例:git push origin dev #把dev分支推送到远程的dev分支(没有会自动创建)
注意:上面的-u参数是把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。直接在master分支使用git push命令即可。
拉取远程仓库
格式:git fetch [remote-name] [branch-name]
举例:git fetch origin //只是手动指定了要fetch的remote。在不指定分支时通常默认为master
举例:git fetch origin dev //只拉取远程仓库dev的变更到origin下
fetch流程一般如下:
git fetch origin master //获取远端的origin/master分支
git fetch origin dev //获取远端的origin/dev分支
git log -p master origin/master //查看本地master与远端origin/master的版本差异
git log -p dev origin/dev //查看本地dev与远端origin/dev的版本差异
git merge origin/master //合并远端分支origin/master到当前分支
git merge origin/dev //合并远端分支origin/dev到当前分支
git remote -v
git pull origin master //拉取远端origin/master分支并合并到当前分支
git pull origin dev //拉取远端origin/dev分支并合并到当前分支
注:不推荐,因为是直接合并,无法提前处理冲突。
查看远程仓库信息
root@DESKTOP-33IBDMI:/mnt/e/git# git remote show origin #查看远程仓库origin的信息
* remote origin
Fetch URL: https://github.com/ldq19/test22.git
Push URL: https://github.com/ldq19/test22.git
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
远程仓库的移除与重命名
远程仓库重命名
root@DESKTOP-33IBDMI:/mnt/e/git# git remote -v
object https://github.com/ldq19/test11.git (fetch)
object https://github.com/ldq19/test11.git (push)
origin https://github.com/ldq19/test22.git (fetch)
origin https://github.com/ldq19/test22.git (push)
root@DESKTOP-33IBDMI:/mnt/e/git# git remote rename object oj #重命令远程仓库为oj
root@DESKTOP-33IBDMI:/mnt/e/git# git remote -v
oj https://github.com/ldq19/test11.git (fetch)
oj https://github.com/ldq19/test11.git (push)
origin https://github.com/ldq19/test22.git (fetch)
origin https://github.com/ldq19/test22.git (push)
root@DESKTOP-33IBDMI:/mnt/e/git#
远程仓库移除
root@DESKTOP-33IBDMI:/mnt/e/git# git remote rm oj
root@DESKTOP-33IBDMI:/mnt/e/git# git remote -v
origin https://github.com/ldq19/test22.git (fetch)
origin https://github.com/ldq19/test22.git (push)
热爱世间万物,无最爱,无例外、