Git常用命令——远程操作
远程操作
先不引入github,利用git支持本地协议的特性,创建一个本地的远程服务器。
创建一个裸仓库(没有工作目录)
SwitchdeMacBook-Pro:git-server switch$ git init --bare
Initialized empty Git repository in /Users/switch/Documents/git-server/
SwitchdeMacBook-Pro:git-server switch$ ls
HEAD config description hooks info objects refs
Initialized empty Git repository in /Users/switch/Documents/git-server/
SwitchdeMacBook-Pro:git-server switch$ ls
HEAD config description hooks info objects refs
SwitchdeMacBook-Pro:git-server switch$
-
git push(提交本地历史到远程服务器)
- git push url branchName :将branchName分支push到服务器对应仓库的branchName分支上
- git push url --tags :共享tag到服务器仓库中
SwitchdeMacBook-Pro:git-server switch$ pwd
/Users/switch/Documents/git-tmp/git-server
SwitchdeMacBook-Pro:git-server switch$ git push /Users/switch/Documents/git-server master
Counting objects: 3, done.
Writing objects: 100% (3/3), 217 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To /Users/switch/Documents/git-server
* [new branch] master -> master
Counting objects: 3, done.
Writing objects: 100% (3/3), 217 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To /Users/switch/Documents/git-server
* [new branch] master -> master
SwitchdeMacBook-Pro:git-server switch$
PS:将master分支上的提交push到服务器仓库上。
-
git remote(远程仓库相关配置操作)
- git remote add alias url :将服务器上的对应仓库添加一个alias(别名)
- git remote -v :查看远程仓库信息
SwitchdeMacBook-Pro:git-server switch$ git remote add s1 /Users/switch/Documents/git-server
SwitchdeMacBook-Pro:git-server switch$ git remote -v
origin/Users/switch/Documents/git-tmp/../git-server/ (fetch)
origin/Users/switch/Documents/git-tmp/../git-server/ (push)
s1/Users/switch/Documents/git-server (fetch)
s1/Users/switch/Documents/git-server (push)
SwitchdeMacBook-Pro:git-server switch$ git remote -v
origin/Users/switch/Documents/git-tmp/../git-server/ (fetch)
origin/Users/switch/Documents/git-tmp/../git-server/ (push)
s1/Users/switch/Documents/git-server (fetch)
s1/Users/switch/Documents/git-server (push)
SwitchdeMacBook-Pro:git-server switch$
PS:默认的远程分支别名是origin。
-
git fetch(获取远程仓库的提交历史)
- git fetch url branchName :获取url代表仓库branchName分支的提交记录,并同步到本地。
PS:当多个人共同作业时,可能会出现别人先于你提交的冲突情况,这时候就需要同步远程仓库、merge、push。也就是先git fetch,再git merge,最后get push。
-
git pull(获取远程仓库的提交历史,并merge本地提交记录和远程提交记录)
- git pull url
PS:git pull = git fetch + git merge
-
git clone(克隆一个远程仓库作为本地仓库)
- git clone url dir :完全复制一个url所代表的远程仓库到本地dir目录下
PS:和git clone功能一样,但是麻烦一些的是git init + git remote + git pull。
-------------参考《网易云课堂.Java Web开发入门》