1.通过GitHub第一步:生成ssh keys,我们成功通过SSH连接github,接下来,我们介绍如何进行同步和提交。
2.同步github到本地,有下面的命令:
[shell]
git clone git://github.com:xxxx/test.git ##以gitreadonly方式克隆到本地,只可以读
git clone git@github.com:xxx/test.git ##以SSH方式克隆到本地,可以读写
git clone https://github.com/xxx/test.git ##以https方式克隆到本地,可以读写
git fetch git@github.com:xxx/xxx.git ##获取到本地但不合并
git pull git@github.com:xxx/xxx.git ##获取并合并内容到本地
[/shell]
3.本地提交项目到github,首先我们需要进行配置:
其中,为了各个帐号保持一致,即在github的profile里面有contributions记录,这里设置的user.email要与github帐号的email一致,否则不会有contributions记录,每台电脑上面的user.name可以不一样,email一致即可。
[shell]
git config –global user.name ‘siukwan’
git config –global user.email ‘siukwan@foxmail.com’ #全局联系方式,可选
[/shell]
然后进行add,commit
[shell]
git init #初始化一个本地库
git add testfile.txt#添加文件到本地仓库
git commit -m "first commit" #提交到本地库并备注,此时变更仍在本地。
git commit -a ##自动更新变化的文件,a可以理解为auto,注意需要添加注释,在:wq保存退出
[/shell]
这个时候,只是commit了本地的文件,还未把本地更新变更到github服务器上。通过下面的命令可以把更新推送到服务器上:
[shell]
git push #将本地文件提交到Github的remoname版本库中。此时才更新了本地变更到github服务上。
[/shell]
在进入到github的branch目录里面,可以直接进行git pull和git push操作。
注意:
如果在每次push的时候都需要输入帐号和密码,是因为使用了https方式 push(这个可以使用svn)
在终端里面输入
[shell]
git remote -v
[/shell]
可以看到下面的结果
[shell]
origin https://github.com/com:siukwan/unix (fetch)
origin https://github.com/com:siukwan/unix (push)
[/shell]
下面把它换成ssh方式的:
[shell]
git remote rm origin
git remote add origin git@github.com:siukwan/unix
git push origin
[/shell]
这时我们再次输入查看信息:
[shell]
git remote -v
[/shell]
可以看到下面的结果,这样在下次push的时候就不再需要输入帐号密码了。
[shell]
origin git@github.com:siukwan/unix (fetch)
origin git@github.com:siukwan/unix (push)
[/shell]
把当前目录添加到github仓库:
[shell]
git init
git push -u origin master
[/shell]