Git基础(三)

上一节已经将git在本地使用的所有要点都说明了,本节主要说明如何与远程仓库交互。git可以完全脱离网络使用,但是如果本地硬盘损坏,所有修改都会永久失去。使用远程仓库增加备份是很有必要的。

一、查看本地仓库的远程仓库的关系

使用git remote可以查看当前仓库与远程仓库的关系。

➜  HandBook git:(master) git remote
origin

origin是git在clone项目时为远程仓库服务器生成的默认名字,使用-v选项就可以查看远程仓库的详细信息。

➜  HandBook git:(master) ✗ git remote -v
origin    git@github.com:Future-Walkers/HandBook.git (fetch)
origin    git@github.com:Future-Walkers/HandBook.git (push)

其中,origin表示当前的远程服务器的名字,git@github.com:Future-Walkers/HandBook.git表示远程仓库的地址,git@表示使用的协议是git,他通过SSH来验证是否具有clone的权限。最后的(fetch)(push)则表示当前对于远程仓库具有fetchpush的权限。

当你在本地完成修改后,如果想要上传至远程仓库,需要使用git remote add <repo>的方式将本地仓库与远程仓库关联。

二、将本地修改上传至远程仓库

在与远程仓库建立关联后,就可以通过git push的命令将本地的修改同步到远程的仓库(当然要先将修改添加到暂存区并提交)。

前面看到,本地仓库具有fetchpush的权限。fetch命令就是将远程仓库的修改拉取到本地,与他相似的还有pull命令。这两个命令的区别是,pull命令出了将远程修改拉取到本地,还会自动将修改合并到你的工作区。

fetch后面可以加上远程仓库的名字,例如git fetch gitlab就是拉取gitlab服务器的代码。

最佳实践是,使用git fetch更新本地仓库,并使用git rebase将远程修改合并,然后在提交你的代码。

提交代码使用git push [remote-git-server-name] [branch-name],所以说你明白为什么一般大家都会不由自主地使用git push origin master了吧,origin是默认的远程仓库名,master是默认的分支(现在GitHub喜欢在创建项目时使用main作为主分支)。在单人项目中,git push origin master的使用频率非常高,这没什么问题。但是,如果多人协作时,使用单一分支会很容易发生冲突。

三、远程仓库查看

使用git remote show repo-name就可以查看远程仓库的情况,这个命令暂时用不太到,先记着就好。

➜  HandBook git:(master) ✗ git remote show origin
* remote origin
  Fetch URL: git@github.com:Future-Walkers/HandBook.git
  Push  URL: git@github.com:Future-Walkers/HandBook.git
  HEAD branch: master
  Remote branches:
    RCheung     tracked
    hk_handbook tracked
    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)

Last updated

Was this helpful?