如今咱们已经在本地建立了一个Git仓库,又想让其余人来协做开发,此时就能够把本地仓库同步到远程仓库,同时还增长了本地仓库的一个备份。经常使用的远程仓库就是github:https://github.com/,接下来咱们演示如何将本地代码同步到github。git
首先你得在github上建立一个帐号,而后在github上建立一个仓库:github
点击“create repository”按钮仓库就建立成功了。windows
Github支持两种同步方式“https”和“ssh”。若是使用https很简单基本不须要配置就可使用,可是每次提交代码和下载代码时都须要输入用户名和密码。并且若是是公司配置的私有git服务器通常不提供https方式访问,因此咱们着重说“ssh”方式。安全
SSH是英文Secure Shell的简写形式。经过使用SSH,你能够把全部传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,并且也可以防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是通过压缩的,因此能够加快传输的速度。SSH有不少功能,它既能够代替Telnet,又能够为FTP、Pop、甚至为PPP提供一个安全的"通道"。bash
若是一个用户从本地计算机,使用SSH协议登陆另外一台远程计算机,咱们就能够认为,这种登陆是安全的,即便被中途截获,密码也不会泄露。最先的时候,互联网通讯都是明文通讯,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登陆信息所有加密,成为互联网安全的一个基本解决方案,迅速在全世界得到推广,目前已经成为Linux系统的标准配置。服务器
在windows下咱们可使用 Git Bash.exe来生成密钥,能够经过开始菜单或者右键菜单打开Git Bash,git bash 执行命令,生命公钥和私钥,命令: ssh-keygen -t rsassh
执行命令完成后,在window本地用户.ssh目录C:\Users\用户名\.ssh下面生成以下名称的公钥和私钥:curl
密钥生成后须要在github上配置密钥本地才能够顺利访问。编辑器
使用文本编辑器打开刚刚生成的公钥(id_rsa.pub),在key部分将id_rsa.pub文件内容添加进去,而后点击“Add SSH key”按钮完成配置。字体
在仓库所在的目录(D:\Develop\Git\git)点击右键选择“Git Bash Here”,启动git bash程序。
而后在git bash中执行以下语句(参考建立仓库界面命令):
git remote add origin git@github.com:dengtianxiang/BigData.git
git push -u origin master
注意:其中红色字体部分须要替换成我的的用户名。
2)使用TortoiseGit同步
同步。在本地仓库的文件夹中单击右键,选择“Git同步”
点击推送
克隆远程仓库也就是从远程把仓库复制一份到本地,克隆后会建立一个新的本地仓库。选择一个任意部署仓库的目录,而后克隆远程仓库。
$ git clone git@github.com:dengtianxiang/BigData.git
在任意目录点击右键:
Git中从远程的分支获取最新的版本到本地有这样2个命令:
上述命令其实至关于git fetch 和 git merge
在实际使用中,git fetch更安全一些,由于在merge前,咱们能够查看更新状况,而后再决定是否合并。
若是使用TortoiseGit的话能够从右键菜单中点击“拉取”(pull)或者“获取”(fetch)
远程仓库实际上和本地仓库没啥不一样,纯粹为了7x24小时开机并交换你们的修改。GitHub就是一个免费托管开源代码的远程仓库。可是对于某些视源代码如生命的商业公司来讲,既不想公开源代码,又舍不得给GitHub交保护费,那就只能本身搭建一台Git服务器做为私有仓库使用。
Git下载地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
搭建Git服务器须要准备一台运行Linux的机器,在此咱们使用CentOS。如下为安装步骤:
1、安装git服务环境准备
yum -y install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettext-devel gcc cc
2、下载git-2.9.5.tar.gz
1)tar -zxf git-2.9.5.tar.gz
2)cd git-2.9.5
3)autoconf
4)./configure
5)make
6)make install
3、添加用户
useradd git
4、设置/home/git文件夹操做权限
chown git:git /home/git
5、设置密码
passwd git
输入两次密码,密码为git
6、切换到git用户
su git
7、建立git仓库
git --bare init /home/git/mygit
注意:若是不使用“--bare”参数,初始化仓库后,提交master分支时报错。这是因为git默认拒绝了push操做,须要.git/config添加以下代码:
[receive]
denyCurrentBranch = ignore
推荐使用:git --bare init初始化仓库。
私有git服务器搭建完成后就能够向链接github同样链接使用了,可是咱们的git服务器并无配置密钥登陆,因此每次链接时须要输入密码。
使用命令链接:
$ git remote add origin ssh://git@192.168.100.21/home/git/mygit
同步
$ git push -u origin master
这种形式和刚才使用的形式好像不同,前面有ssh://前缀,也能够这样写:
$ git remote add origin git@192.168.100.21:first
使用TortoiseGit同步的话参考上面的使用方法。