1.克隆现有仓库
git clone url
url支持git、ssh、http、https等各种协议
2.初始化一个仓库
git init
在当前文件夹下生成 .git目录,完成初始化,此文件夹下的所有文件都处于unstaged状态
git文件的各个状态:
1. unstaged git仓库中没有此文件的相关记录
2. modified git仓库中有这个文件的记录,并且此文件当前有改动
3. staged 追加,删除或修改的文件被暂时保存,这些追加、删除和修改并没有提交到git仓库
4. commited 追加或修改的文件被提交到本地git仓库
3.重定向远程服务器
git remote set-url origin url
4.查看远程仓库
git remote
只能查看远程仓库的名字
git remote -v
远程仓库的名字及git地址
git remote show [remote-name]
5.新建远程仓库
git remote add [shortname][url]
//eg: git remote add mc git://www.host.com/gitdir/mycode.git
6.修改远程仓库
git remote rename [oldname] [newname]
7.删除远程仓库
git remote rm [remote-name]
8.远程仓库数据
(1)获取数据
git fetch [remote-name] //获取仓库所有更新,但是不自动合并当前分支
git pull //获取仓库的所有更新,并且自动合并到当前分支
(2)上传数据
git push [remote-name] [branch-name]
例如:
git push origin master
git push -u origin master
9.本地仓库同时关联两个远程仓库
使用多个远程库时,我们要注意,git给远程库起的默认名称是origin
,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。
仍然以learngit
本地库为例,我们先删除已关联的名为origin
的远程库:
git remote rm origin
然后,先关联GitHub的远程库:
git remote add github git@github.com:michaelliao/learngit.git
注意,远程库的名称叫github
,不叫origin
了。
接着,再关联码云的远程库:
git remote add gitee git@gitee.com:liaoxuefeng/learngit.git
同样注意,远程库的名称叫gitee
,不叫origin
。
现在,我们用git remote -v
查看远程库信息,可以看到两个远程库:
git remote -v
gitee git@gitee.com:liaoxuefeng/learngit.git (fetch)
gitee git@gitee.com:liaoxuefeng/learngit.git (push)
github git@github.com:michaelliao/learngit.git (fetch)
github git@github.com:michaelliao/learngit.git (push)
如果要推送到GitHub,使用命令:
git push github master
如果要推送到码云,使用命令:
git push gitee master
这样一来,我们的本地库就可以同时与多个远程库互相同步: