如何通过git把本地的代码上传到服务器

如何通过git把本地的代码上传到服务器,第1张

注意:安装的前提条件是配置好Git的相关环境或者安装好gitexe,此处不再重点提及
上传的步骤:(本文采用git 命令界面进行 *** 作)
( git config --global useremail "you@examplecom"
git config --global username "Your Name")实现登陆
1进入本地的项目目录,右键“Git Bash here”,调出git命令行界面,然后输入
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
git init
2就是将目录下的所有文件上传,也可以将“”换成具体的文件名
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
git add
3将项目提交到gitHub
[html] view plain copy 在CODE上查看代码片派生到我的代码片
git commit -m "注释语句"
4在github上创建新的repository
5点击 “Create repository”跳转到一个连接,如下红色圈获取到本项目的github地址
6将本地的代码关联到github上
[html] view plain copy 在CODE上查看代码片派生到我的代码片
git remote add origin 项目的github地址
7上传代码到github之前需要先pull
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
git pull origin master
8上传代码到远程仓库
[plain] view plain copy 在CODE上查看代码片派生到我的代码片
git push -u origin master
之后输入账号,密码,上传到github

一台共用服务器上多人共同使用,多个git工程每个工程的地址和账号密码又是不一样。
使用global 此时在/home/usrname下gitconfig 会生成设置全局的git用户名及邮箱账号

如下命令可谓单个工程设置用户名及邮箱账号,存放在工程目录下git/config文件中

1首先为不同的工程配置不同的Git账号

注意:这里git config命令没有带—global,表示这是一个局部的设置,也就是这个用户是当前项目的,而不是全局的。
2为不同的用户生成SSH密钥
一般的Git服务器为了安全,都会需要我们提供一个安全的SSH密钥,默认情况下,生成密钥的文件名都是一样的,但是不同的用户,必须设置不同文件名的密钥文件,否则会发生覆盖。密钥生成后,添加到服务端(如Github)

密钥存放在用户目录下ssh路径下。

//B账户的私钥

添加完后,可以使用ssh-add来查看密钥列表

其中的remore地址是url = git@githubcom :samplegit,这时候,我们需要修改跟密钥对应的地址,上面在配置ssh时,为每个Hostname配置了一个host的别名,这时候,我们就不能使用原来的Hostname来提交了,要用别名来代替Hostname。
###############

1、打开控制面板->管理工具->服务项目,禁用Windows防火墙服务。
2、打开控制面板->管理工具,双击“路由和远程访问”。然后右键点击服务器图标,再点击“配置并启用路由和远程访问”。
3、在“路由和远程服务器安装向导”中,选择“自定义配置”。
4、勾选“访问”和“NAT和基本防火墙”。
5、点击“完成”。系统提示“要开始服务吗?”,选择“是”。
6、接下来开始配置路由和远程访问,我们先点击本地服务旁边的+按钮,把左侧菜单展开,再点击IP路由选择旁边的+按钮。
7、下面配置静态IP地址。右键点击本地服务,点击属性,再点击IP选项卡。
8、点选“静态地址池”,点击“添加”。输入一个起始IP地址和结束IP地址范围,推荐输入1921681100到1921681254这个范围,因为192168段属于本地保留IP段。最后点击“确定”。
9、右键点击“静态路由”,再点击“新建静态路由”。
10、目标和网络掩码都输入0,网关请和TCP/IP属性中的默认网关保持一致。
11、删除“DHCP中继代理程序”中的“内部”项目。
12、然后右键点击“DHCP中继代理程序”,再点击“新增接口”。
13、选择“本地连接”,再点击“确定”,然后在d出的对话框中点击“确定”。
14、右键点击“NAT/基本防火墙”,再点击“新增接口”,然后选择“本地连接”,点击“确定”。
15、在d出的对话框中先点选“公共接口连接到Internet”,再勾选“在此接口上启用NAT”,最后点击“确定”。

1架设Git服务器我们以Ubuntu为例。首先,在git服务器上创建一个名为'git'的用户,并为其创建一个ssh目录。并将其权限设置为仅git用户有读写权限$sudoaddusergit$sugit$cd$mkdirssh$chmod700ssh接下来,把开发者的SSH公钥添加到这个用户的authorized_keys文件中。假设你通过电邮收到了几个公钥并存到了临时文件里。重复一下,公钥大致看起来是这个样子:$cat/tmp/id_rsajohnpubssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4LojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4kYjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9EzSdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myivO7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPqdAv8JggJICUvax2T9va5gsg-keypair只要把它们逐个追加到authorized_keys文件尾部即可,同时将authorized_keys设置为仅git用户有读写权限。$cat/tmp/id_rsajohnpub>>~/ssh/authorized_keys$cat/tmp/id_rsajosiepub>>~/ssh/authorized_keys$cat/tmp/id_rsajessicapub>>~/ssh/authorized_keys$chmod600~/ssh/authorized_keys现在可以用--bare选项运行gitinit来建立一个裸仓库,这会初始化一个不包含工作目录的仓库。$cd/opt/git$mkdirprojectgit$cdprojectgit$git--bareinit这时,Join,Josie或者Jessica就可以把它加为远程仓库,推送一个分支,从而把第一个版本的项目文件上传到仓库里了。值得注意的是,每次添加一个新项目都需要通过shell登入主机并创建一个裸仓库目录。我们不妨以gitserver作为git用户及项目仓库所在的主机名。如果在网络内部运行该主机,并在DNS中设定gitserver指向该主机,那么以下这些命令都是可用的:#在John的电脑上$cdmyproject$gitinit$gitadd$gitcommit-m'initialcommit'$gitremoteaddorigingit@gitserver:/opt/git/projectgit$gitpushoriginmaster这样,其他人的克隆和推送也一样变得很简单:$gitclonegit@gitserver:/opt/git/projectgit$vimREADME$gitcommit-am'fixfortheREADMEfile'$gitpushoriginmaster用这个方法可以很快捷地为少数几个开发者架设一个可读写的Git服务。作为一个额外的防范措施,你可以用Git自带的git-shell工具限制git用户的活动范围。只要把它设为git用户登入的shell,那么该用户就无法使用普通的bash或者csh什么的shell程序。编辑/etc/passwd文件:$sudovim/etc/passwd在文件末尾,你应该能找到类似这样的行:git:x:1000:1000::/home/git:/bin/sh把bin/sh改为/usr/bin/git-shell(或者用whichgit-shell查看它的实际安装路径)。该行修改后的样子如下:git:x:1000:1000::/home/git:/usr/bin/git-shell现在git用户只能用SSH连接来推送和获取Git仓库,而不能直接使用主机shell。尝试普通SSH登录的话,会看到下面这样的拒绝信息:$sshgit@gitserverfatal:WhatdoyouthinkIamAshellConnectiontogitserverclosed这里提供的方法,组内所有成员对project都有读写权限,也就是说每个分支都可以push代码,如果需要更加细致的权限控制,请使用Gitosis或者Gitolite。2搭建Gitweb安装gitweb之后就可以通过网站访问我们的项目了。就像gitwebconf#pathtogitprojects(git)$projectroot="/opt/git";至此gitweb就可以使用了,现在可以通过config[core]repositoryformatversion=0filemode=truebare=true[hooks]mailinglist="example@gmailcom,example2@gmailcom"#收件人列表envelopesender=projectgit@examplecom#送件人地址emailprefix="[Projectcommit]"#邮件标题前缀showrev="gitshow-C%s;echo"#不只显示有变化的文件,同时也显示改变的内容为了使邮件显示的更清楚,还要修改一下工程目录当中的description文件,在description文件中,默认第一行是项目名称,所以要在第一行填入该项目的名称,这个在邮件中会有显示。$vim/opt/git/projectgit/descriptionProject_A

1、安装OpenSSH并配置SSH无密码登陆
通过命令 sudo apt-get install openssh-server,安装SSH服务。
通过命令 ps –e|grep ssh,查看ssh服务是否启动。
通过以上命令,我们为Ubantu系统安装SSH服务,并配置SSH无密码登陆,首先我们修改主机和ip配置文件:gedit /ect/hosts
2、创建用户git,用来管理运行git服务。
3、配置无密码SSH登陆
在gitClient_01上,我们使用命令:ssh-keygen –t rsa 生成密钥,如下图
完成之后,在ssh目录下,我们可以看到id_rsa和id_rsapub文件,id_rsapub为公钥,我们通过命令scp /home/git/ssh/id_rsapub gitServer:/home/git将gitClient_01上生成的公钥拷贝到gitServer上。
在gitServer上我们首先查看/home/git/ssh目录下是否存在authorized_kesys文件,
如果没有,可以通过touch authorized_keys创建此文件。
Authorized_keys创建完成后,将gitClient_01上拷贝过来的公钥id_rsapub的内容追加到authroized_keys中,注意是追加到此文件中,可以使用命令cat /home/git/id_rsapub>>/home/git/ssh/authorized_keys
以上内容完成后,我们在gitClient_01中,可以使用命令ssh gitServer即可完成无密码登陆。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13501580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-20
下一篇 2023-08-20

发表评论

登录后才能评论

评论列表(0条)

保存