>[info] git在靈活性在于我們工作是始終在本地的版本庫中工作的,工作完后只需要將本地倉庫與遠程倉庫同步,來達到共享代碼的目的。
所以遠程倉庫和本地倉庫的關聯關系就很重要了。
還記的【建立版本庫】章節中講的創建版本庫中的這個命令嗎:
~~~
$ git remote add origin git@github.com:xiasf/github-note.git
~~~
~~~
git remote add origin [SSH|URL] // 為遠程倉庫設置別名為"origin"
~~~
其實這個命令是為遠程倉庫設置別名的,所以后面才這樣使用:
~~~
git push -u origin master // 推送(本地當前分支)到遠程倉庫的master分支
~~~
> 由于遠程庫是空的,我們第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令。
**設置別名是為了方便后面操作,簡化命令,這很容易理解了吧。**
## 擴展知識
為什么別名用"origin",用別的可以嗎?
當然可以用別的,origin是Git對遠程庫的默認叫法,也可以改成別的,但是origin這個名字一看就知道是遠程庫啊,并且github初始化項目也是用的這個別名的,所以用這個是最好的。
其實對版本倉庫的很多設置/配置信息很多都是保存在倉庫根目錄的./.git/config文件中的,這個文件一般長這樣:
~~~
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = git@github.com:xiasf/github-note.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
~~~
從這里其實你也基本看出來了,我們剛才設置的遠程倉庫別名和當前(默認)分支,還有一些配置信息。
其實這里面還可以設置很多信息哦,別忘了“git配置也是這個文件哦”所以一些自動以配置,比如git 配置,命令別名等也可以在這里配置哦。
Git支持多種協議,包括https,但通過ssh支持的原生git協議速度最快。
使用https除了速度慢以外,還有個最大的麻煩是每次推送都必須輸入口令,但是在某些只開放http端口的公司內部就無法使用ssh協議而只能用https。
使用git clone 克隆遠程倉庫時是只能的,如果使用ssh地址克隆的則配置默認為ssh的,如果使用url則默認是url的。換句話說也就是git將克隆時的地址用作了配置中的遠程地址。
- 說明
- git配置
- git與github的關系
- 基礎概念
- git命令
- git init
- git status
- git diff
- git log
- git reflog
- git add
- git commit
- git reset
- git checkout
- git rm
- git stash
- git remote
- git push
- git clone
- git branch
- git fetch
- git merge
- git rebase
- git pull
- git tag
- 建立版本庫
- 分支合并
- 遠程庫別名
- Pull requests
- 擴展知識
- 功能文件
- 差異看法
- 注意細節
- github移動端
- git工作系統理解
- 倉庫嵌套問題
- 倉庫的使用問題
- 常用命令
- 學習資料
- 學習總結
- 示例文件
- README.md
- CONTRIBUTING.md
- .gitignore
- coding
- 大小寫問題
- 如何貢獻
- 使用賬號密碼clone
- git目錄分析
- HEAD
- 代碼部署問題
- 開發流程
- 指定公鑰文件