设置了公钥,就能上传和下载了
- 通过
git pull
&&git push
&&git clone
1. 两行命令
第0步 准备工作
- 新建GitHub Repo(Repositories),任意Repository name
- 在快速设置中,默认SSH(勿选HTTPS,坑,每次要输密码,不方便,骂死你)
- 复制页面里的代码(关掉翻译) 「复制SSH 地址(注意是以git开头的而不是HTTPS地址)」
已有本地仓库
git remote add origin git@github.com:yourName/yourRepoName.git
- 告诉本地仓库,对应到远程仓库的地址,仓库名是origin
第1步 第一次上传:
git push -u origin master
-u upstream
第一次上传时,记下本次匹配,推到origin仓库的master分支-u origin master
只有第一次需要写,以后直接git push
就好了- master(本地)->master(GitHub)
- 刷新远程仓库页面就可以看到上传的内容了
没有本地仓库,完全新建时
echo "# RepoName" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:yourName/yourRepo Name.git
git push -u origin master
git push
上传的是本地仓库提交过的一个分支,并不是当前看到的代码- 可以提交多个分支:
git branch x
git checkout x
## ... change sth ...
git add .
git commit -am "log"
git push -u origin x
注意要加-u,因为是第一次上传此分支* [new branch]
- x(本地)->x(GitHub)
- 类似我要查看分支:
git branch
,我要查看远程仓库:git remote
小结
- 关联你新建的远程仓库
git remote add origin git@xxxx
- 在本地添加远程仓库的地址
- origin是远程仓库的默认名字,可以换,不建议换
- 勿使用
https://
地址,每次要输密码烦
- 初始提交到远程仓库
git push -u origin master
- 推送本地master分支到远程origin的master分支
- 如果由于手贱,在创建远程仓库时加了README.md等原因,导致远程仓和你本地仓文件不一致,提示你应该git pull...,就git pull一下
-
git pull
是先把远程分支合并到本地对应的分支 - 如果远程分支没有(被其他人)更新过,才可以省略
git pull
-
-u origin master
的意思是设置上游分支 - 之后就可以不用设置直接
git pull
;git push
eg.比如有个repo2仓库
git remote add repo2 gti@github.com:yourName/git-demo-02.git
git push -u repo2 master
不可直接git pull
,默认去origin仓库;被![reject],这时需要将repo2仓库的master分支复制到当前的master 分支:
git checkout master
git pull repo2 master:master
master -> repo2/master
git push -u repo2 master
被拒绝合并,因为没有关联,可以谨慎使用强制合并:
git push -u repo2 master -f
小心同事打你
- 如何上传其他分支
- 方法一:
git push origin x:x
git push
仓库名 分支名(源头:本地x):分支名(目标:远程x)
- 方法二:
git checkout x
git push -u origin x
git push
仓库名 分支名- GitHub远程仓库是本地仓库(分支)的一个拷贝而已(备份.git/)
- 本地仓库在硬盘里的位置(相对路径)不影响远程仓库
- 远程的Repo(Repositories)相当于在GitHub上的一个文件夹,git clone 下来的文件夹名就是Repo的名称
- 类似我要查看分支:
git branch
,我要查看远程仓库:git remote
- 区分origin和远程仓库的名称:
- GitHub 里面的 origin 到底代表啥意思
·未完待续·
参考文章
相关文章
- 无
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。