1

设置了公钥,就能上传和下载了

  • 通过git pull&&git push&&git clone

1. 两行命令

第0步 准备工作

  1. 新建GitHub Repo(Repositories),任意Repository name
  2. 在快速设置中,默认SSH(勿选HTTPS,坑,每次要输密码,不方便,骂死你)
  3. 复制页面里的代码(关掉翻译) 「复制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

小结

  1. 关联你新建的远程仓库
git remote add origin git@xxxx
  • 在本地添加远程仓库的地址
  • origin是远程仓库的默认名字,可以换,不建议换
  • 勿使用https://地址,每次要输密码烦
  1. 初始提交到远程仓库
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
小心同事打你
  1. 如何上传其他分支
  • 方法一:
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 到底代表啥意思

·未完待续·


参考文章

相关文章




Joel
14 声望2 粉丝