在github建立一个同名仓库
为防止与其他仓库混淆,仓库名请与本地仓库保持一致,即 gitlearn
创建时请不要勾选 Initialize this repository with a README 选项(图 4.8)。因为一旦勾选该选项,GitHub 一侧的仓库就会自动生成 README 文件,从创建之初便与本地仓库失去了整合性。虽然到时也可以强制覆盖,但为防止这一情况发生还是建议不要勾选该选项,直接点击 Create repository 创建仓库。
添加远程仓库
在 GitHub 上创建的仓库路径为"git@github.com:用户名/gitlearn.git"
现在用命令git remote add
将它设置成本地的远程仓库
R@R MINGW64 ~/gitlearn (master)
$ git remote add origin git@github.com:用户名/gitlearn.git
按照上述格式执行命令之后,Git 会自动将git@github.com:用户名/gitlearn.git远程仓库的名称设置为 origin(标识符)。
推送至远程仓库
命令git push
假设在master分支下操作
R@R MINGW64 ~/gitlearn (master)
$ git push -u origin master
Enter passphrase for key '/c/Users/R/.ssh/id_rsa':
Enumerating objects: 20, done.
Counting objects: 100% (20/20), done.
Delta compression using up to 8 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (20/20), 1.57 KiB | 536.00 KiB/s, done.
Total 20 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), done.
To github.com:用户名/gitlearn.git
* [new branch] master -> master
branch 'master' set up to track 'origin/master'.
像这样执行 git push命令,当前分支的内容就会被推送给远程仓库origin 的 master 分支。-u参数可以在推送的同时,将 origin 仓库的 master 分支设置为本地仓库当前分支的 upstream(上游)。添加了这个参数,将来运行 git pull命令从远程仓库获取内容时,本地仓库的这个分支就可以直接从 origin 的 master 分支获取内容,省去了另外添加参数的麻烦。
推送至 master 以外的分支
创建feature-D分支
R@R MINGW64 ~/gitlearn (master)
$ git checkout -b feature-D
Switched to a new branch 'feature-D'
R@R MINGW64 ~/gitlearn (feature-D)
$ git push -u origin feature-D
Enter passphrase for key '/c/Users/R/.ssh/id_rsa':
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote:
remote: Create a pull request for 'feature-D' on GitHub by visiting:
remote: https://github.com/用户名/gitlearn/pull/new/feature-D
remote:
To github.com:用户名/gitlearn.git
* [new branch] feature-D -> feature-D
branch 'feature-D' set up to track 'origin/feature-D'.
现在可以在github上查看分支feature-D啦!