向远程仓库推送
本地已经clone成功远程仓库后,我们便可以向仓库中提交内容,例如新增一个file.txt文件:
# 新建文件
$ ls
README.en.md README.md$ vim file.txt
$ cat file.txt
hello git# 提交文件
$ git add.
$ git commit -m"create file.txt"
[master 7ce3183] create file.txt1 file changed, 1 insertion(+)create mode 100644 file.txt
提交时要注意,如果我们之前设置过全局的name和e-mail,这两项配置需要和gitee上配置的用户名和邮箱一致,否则会出错。
或者从来没有设置过全局的name和e-mail,那么我们第一次提交时也会报错。这就需要我们重新配置下了,同样要注意需要和gitee上配置的用户名和邮箱一致。如何配置已讲过,在这里就不再赘述。
到这里我们已经将内容提交至本地仓库了,如何将本地仓库的内容推送至远程仓库呢,需要使用git push
命令,该命令用于将本地的分支版本上传到远程并合并,命令格式如下:
git push <远程主机名> <本地分支名>:<远程分支名># 如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
此时我们要将本地的master分支推送到origin主机的master分支,则可以:
$ git push origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 308 bytes | 308.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:hyb91/git_teaching.gitc6ce3f0..7ce3183 master -> master
推送成功!这里由于我们使用的是SSH协议,是不用每一次推送都输入密码的,方便了我们的推送操作。如果你使用的是HTTPS协议,有个麻烦地方就是每次推送都必须输入口令。
接下来,可以查看码云远端,会发现代码已经被推送至远端了:
拉取远程仓库
在gitee上点击README.md文件并在线修改它(此处不做截图展示)
此时,远程仓库是要领先于本地仓库一个版本,为了使本地仓库保持最新的版本,我们需要拉取下远端代码,并合并到本地。
Git提供了git pull
命令,该命令用于从远程获取代码并合并本地的版本。格式如下:
git pull <远程主机名> <远程分支名>:<本地分支名># 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull <远程主机名> <远程分支名>
使用一下:
# 拉取远程分支,并与当前分支进行合并
$ git pull origin master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 1.02 KiB | 1.02 MiB/s, done.
From gitee.com:hyb91/git_teaching* branch master -> FETCH_HEAD7ce3183..60e6b0a master -> origin/master
Updating 7ce3183..60e6b0a
Fast-forwardREADME.md | 2 ++1 file changed, 2 insertions(+)$ cat README.md
第一次修改内容
我们发现,拉取成功了!