git最重要的功能就是将代码提交到远端服务器,和从远端服务器下载数据。
上一篇讲解了如何在本地将文件保存到git,但是真正的工作中,仅保存在本地是不够的,我们还需要将代码定时更新到远端git数据库中。这样,才能保证数据不易丢失,大家一起维护远端git,保证互相代码及时更新。
github是目前最流行的开源git仓库,很多工程师都使用github作为个人代码仓库。这里,以github为例子,演示如何将本地代码和github很好的进行传输。
git clone
将远程仓库
username是你的github用户名,project是你的项目名字,密码是你的github密码。执行完成后,会将project项目克隆到当前目录下。
Initialized empty Git repository in /tmp/project/.git/
Password:
remote: Counting objects: 172, done.
remote: Total 172 (delta 0), reused 0 (delta 0), pack-reused 172
Receiving objects: 100% (172/172), 36.33 KiB, done.
Resolving deltas: 100% (68/68), done.
root [~] ls -l project/
total 52
drwxr-xr-x 2 root root 4096 Sep 19 19:20 base
drwxr-xr-x 2 root root 4096 Sep 19 19:20 config
-rw-r--r-- 1 root root 2667 Sep 19 19:20 config.py
git push,将本地代码提交到远程git上面。
在本地做一些文件改动,并提交到本地git,然后推送到github上。
Password:
Counting objects: 5, done.
Writing objects: 100% (3/3), 247 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://username@github.com/username/remote_test
5a3e349..4dbc347 master -> master
git pull,拉取远端git代码到本地。
在github上直接修改代码,本地拉取更新。
Password:
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/username/remote_test
4dbc347..c071e59 master -> origin/master
Updating 4dbc347..c071e59
Fast-forward
newfile | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
克隆的例子,是从git上面下载代码到本地。但是,如果我们先有了本地的git仓库,然后希望将这个仓库更新到github上面,就需要用到下面的命令:
git remote add origin
root [~] mkdir ranshy
root [~] cd ranshy/
root [~] git init
#创建一个文件,提交到本地git
root [~] echo 'hello world' > newfile
root [~] git add newfile
root [~] git commit -m 'add remote test'
#添加远端git数据库
root [~] git remote add origin https://username@github.com/username/remote_test
#提交
root [~] git push -u origin master
Password:
Counting objects: 6, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (6/6), 426 bytes, done.
Total 6 (delta 0), reused 0 (delta 0)
To https://username@github.com/username/remote_test
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
这时,我们再看github的remote_test项目,本地修改的代码已经提交上来了。
提交远程git时,输入完密码如果报错误:error: The requested URL returned error: 403 Forbidden while accessing ,有可能是我们密码输入错误,也有可能是github上面没有建立该项目,或者该项目无权限写入。
github的远端路径,不要使用https://github.com/username/project.git,会提交失败,而需要改成https://username@github.com/username/example.git
修改远端仓库地址有三种办法:
1. 使用git remote rm办法删除,然后重新创建
2. git remote set-url
3. 直接修改.git/config文件夹,[remote "origin"]
Leave a Reply