linuxgit上传
1. 怎么把linux上的文件git到git.ocs.china
git是linux下的版本管理工具,类似于CVS。
git没有登陆与退出的概念,每次操作都要求输入密码(当然也可以做到不用每次都输入密码)。
0.首先要设置环境变量,否则每次提交信息与本人不匹配:
[email protected]
GIT_AUTHOR_NAME='Yang XX'
[email protected]
GIT_COMMITTER_NAME='Yang XX'
常用的git命令有:
1.git-clone username@ipaddress:/xxx/xxx(服务器上的工程目录,要求记住)
该命令为第一次登陆工程目录时使用,目的是拷贝工程目录内容,以后的所有操作最好都在该目录下。
2.git-add filename
添加文件,只在本机目录下有效。
3.git-commit -m "comment about this operation"
关于本次操作的注释,只提交到本机目录下。
4.git-push
提交变化到服务器。真正有效的操作
5.git-pull
将服务器上该工程目录下的变化拷贝到本机目录中。也用于每次提交之后交验操作是否有效。
6.git-diff
显示本机与服务器中工程目录内容的不同。
7.git-checkout branchname
切换分支。默认每次均在master分支下操作。
8.gitk --all
以图形界面的方式显示所有操作及注释。
2. 如何在Linux上搭建一个Git中央仓库
本教程只面向那些个人开发者,想要自己在linux上搭建一个git中央仓库用来上传发布自己的项目。但是对于团队来说可能有更高的要求,可以使用gitlab搭建一个可视化的类似github的版本管理系统
3. 如何通过git把本地的代码上传到服务器
1、首先需要安装Git,如果已经安装,请跳过。由于Git是Linux开发的,所以大部分使用在Linux系统上,但肯定会有windows版的,我本身使用的是win10,下载安装即可:https://git-for-windows.github.io/
2、安装好git服务器后。首先找到你项目的文件夹,比如项目名称为myproject,进入到这个文件夹,右键打开模拟linux风格的命令窗口
接下来依次执行命令:
git init // 初始化版本库git add . // 添加文件到版本库(只是添加到缓存区),.代表添加文件夹下所有文件 git commit -m "first commit" // 把添加的文件提交到版本库,并填写提交备注12345
到目前为止,我们完成了代码库的初始化,但代码是在本地,还没有提交到远程服务器,所以关键的来了,要提交到就远程代码服务器,进行以下两步:
git remote add origin 你的远程库地址 // 把本地库与远程库关联git push -u origin master // 第一次推送时git push origin master // 第一次推送后,直接使用该命令即可推送修改12345
把本地库的内容推送到远程。使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。
说明:用户名密码需要通过命令 ssh-keygen -t rsa -C “[email protected]”进行创建,并且要把得到的秘钥(公钥)文件放到git服务器上,这样才有权限进行代码推送
到此就成功的把本地的代码放到了远程服务器上,这样就能让项目组成员进行写作开发了。
4. linux怎样将git仓库中的文件上传到另一个远程仓库中
不需要自动备份的话
# rsync -azvP --delete /zabbix/ root@远端IP地址:/test/
5. 如何在Linux下使用Git
Git是一款开源分布式版本控制系统,能够帮助Linux管理内核开发,那么Linux要如何使用Git,下面就是Linux使用Git的方法:
*初始化git仓库,使用git init命令
*添加文件到git仓库分两步:
1、使用git add filename ;可分多次使用,添加多个文件到暂存区
2、使用git commit -m “说明” ;完成提交到分支
*查看工作区状态,使用git status 命令;如果提示有修改可使用git diff filename 查看修改内容
*HEAD指向当前版本,HEAD^表示上一个版本,HEAD^^上上一个版本……HEAD~100指向之前第100个版本。
*回退版本:使用git log查看提交历史;使用git log --pretty=oneline 精简显示
使用git reset --hard commit_id 回退到版本号为commit_id的版本
*回退版本之后如果想再看改回来,可以使用git reflog 查看历史命令,找出想改回的版本号,再使用git reset hard commit_id 返回即可。
*注意:git跟踪并管理的是修改,而不是文件,如果一个文件修改并add之后,再次修改,如果不再次add就提交的话,只会提交第一次的修改。
*撤销修改:
1、如果文件还在工作区,即没有add也没有commit,则使用git checkout -- filename 还原到服务器版即可;
2、如果已经add到暂存区,首先使用git reset HEAD filename从暂存区取回工作区,再按照1进行操作即可;
3、如果已经提交到版本库,则按照版本回退的方式进行修改即可;
4、如果已经push到远程仓库,就麻烦了
*删除使用以下命令:
1、git rm filename 从工作区删除
2、git commit -m ”说明“ 更新分支中文件进行删除
将在工作区的文件删除之后,可以使用git checkout -- filename 从分支中取回,但是只能恢复文件到最新版本,最后一次提交之后的修改则不能恢复。
*分支:
1、创建分支
git checkout -b branchname 创建并切换到改分区,相当于一下两个命令:
git branch branchname 创建分支
git checkout branchname 切换到分区
2、查看当前指向的分支:git branch 会列出所有分支,当前指向的分支之前多了个*
3、切换分支就是git checkout branchname
4、合并分支:git merge branchname 合并branchname到当前分支
5、删除分支:git branch -d branchname 删除branchname分支
注意:创建、合并、删除分支都非常快,git鼓励使用分支完成某个任务,合并后删除分支,和直接在master分支上进行工作是一样的效果,但是过程更加安全; 这些之所以快是因为在这些过程中我们只是修改了指向分支的指针,如创建一个branch就是创建了一个指向分支的指针,然后修改HEAD指向该指针;即HEAD指向分支,分支就是提交。
*冲突解决:
git无法自动合并分支时,就必须首先解决冲突;解决冲突之后,再提交,即完成了合并
使用git log --graph 可以查看分支合并图。
*保存工作现场 git stash 保存之后就可以进行其他工作 而不影响上次的修改
恢复工作现场:
1、git stash apply 恢复时并不删除stash中内容
2、git stash pop 恢复时会删除stash中的内容
*远程库信息产看使用git remote (-v)加上-v显示信息更加详细
*分支推送到远程库:即将所有本地的提交推送到远程库
git push origin(远程库名) master (要推送的分支)
*抓取分支:git pull ; git clone
*协作模式:
1、使用git push origin branchname 推送自己的修改
2、如果推送失败,因为远程分支比本地更新,先使用git pull 合并
3、如果合并有冲突,解决冲突,在本地提交
4、再推送
注意:如果使用git pull 合并时提示 ”no tracking information“说明本地分支没有和远程分支建立链接关系,使用以下指令建立关系:git branch --set -upstream branch origin/branchname
*在本地创建与远程对应的分支:git branch -b branchname origin/branchname 本地与远程分支的名称最好一致
*创建标签
1、打标签git tag name 默认标签打在最新提交的commit上,如果想打在其他版本上,找到commit_id即可
2、显示标签:git log -pretty=oneline --abbrev -commit
git tag tag_name commit_id
3、查看标签:git tag 显示所有标签
4、查看标签信息:git show tag_name
5、创建带有说明的标签: git tag -a tag_name -m ”信息“;-a表示标签名,-m指定说明文字
*操作标签:git tag -d tag_name 删除标签
推送标签到远程库:git push origin tag_name
一次推送所有标签到远程库:git push origin --tag
上面就是Linux使用Git的方法了。
6. linux系统下怎么使用git
git命令是用来管理文件的程序,它十分类似DOS下的Norton Commander,具有互动式操作界面。它的操作方法和Norton Commander几乎一样:
git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的update
git add:是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例:'git add app/model/user.rb'就会增加app/model/user.rb文件到Git的索引中
git rm:从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb'
git commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如'git commit -m story #3, add user model',提交的时候必须用-m来输入一条提交信息
git push:将本地commit的代码更新到远程版本库中,例如'git push origin'就会将本地的代码更新到名为orgin的远程版本库中
git log:查看历史日志
git revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert ',Git的版本号都是生成的一个哈希值
git branch:对分支的增、删、查等操作,例如'git branch new_branch'会从当前的工作版本创建一个叫做new_branch的新分支,'git branch -D new_branch'就会强制删除叫做new_branch的分支,'git branch'就会列出本地所有的分支
git checkout:Git的checkout有两个作用,其一是在不同的branch之间进行切换,例如'git checkout new_branch'就会切换到new_branch的分支上去;另一个功能是还原代码的作用,例如'git checkout app/model/user.rb'就会将user.rb文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚
git rebase:用下面两幅图解释会比较清楚一些,rebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能
7. 如何在linux下上传到git服务器
GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。
8. linux怎样命令行上传git
你是你是要通过git命令上传东西,还是想上传git到服务器上面,你可以先通过yum安装git
#yuminstallgit
已加载插件:fastestmirror,refresh-packagekit,security
设置安装进程
Loadingmirrorspeedslinuxprobe.comfromcachedhostfile
base|3.7kB00:00
epel|4.3kB00:00
epel/primary_db|5.9MB00:05
extras|3.4kB00:00
hhvm|2.9kB00:00
shells_fish_release_2|1.2kB00:00
updates|3.4kB00:00
updates/primary_db|821kB00:01
upgrade|1.9kB00:00
virtualbox/signature|181B00:00
virtualbox/signature|1.1kB00:00...
包git-1.7.1-8.el6.x86_64已安装并且是最新版本
无须任何处理
#git--help
usage:git[--version][--exec-path[=GIT_EXEC_PATH]][--html-path]
[-p|--paginate|--no-pager][--no-replace-objects]
[--bare][--git-dir=GIT_DIR][--work-tree=GIT_WORK_TREE]
[--help]COMMAND[ARGS]
:
addAddfilecontentstotheindex
branchList,create,,commitandworkingtree,etclogShowcommitlogs
mvMoveorrenameafile,adirectory,orasymlink
rebaseForward-
showShowvarioustypesofobjects
tagCreate,list,
See'githelpCOMMAND'.
下面我给介绍一种从本地上传到服务器的命令:
命令rz和sz命令,首先你需要安装lrzsz库
#rz--help
rzversion0.12.20
Usage:rz[options][filename.if.xmodem]
ReceivefileswithZMODEM/YMODEM/XMODEMprotocol
(X)=optionappliestoXMODEMonly
(Y)=optionappliestoYMODEMonly
(Z)=optionappliestoZMODEMonly
-+,--appendappendtoexistingfiles
-a,--asciiASCIItransfer(changeCR/LFtoLF)
-b,--binarybinarytransfer
-B,--bufsizeNbufferNbytes(N==auto:bufferwholefile)
-c,--with-crcUse16bitCRC(X)
-C,--allow-remote-(Z)
-D,--nullwriteallreceiveddatato/dev/null
--delay-
-e,--escapeEscapecontrolcharacters(Z)
-E,--
--(debugging)
-h,--helpHelp,printthisusagemessage
-m,--min-
-M,--min-bps-timeNforatleastNseconds(default:120)
-O,--disable-timeoutsdisabletimeoutcode,waitforeverfordata
--o-syncopenoutputfile(s)insynchronouswritemode
-p,--protectprotectexistingfiles
-q,--quietquiet,noprogressreports
-r,--(Z)
-R,--restrictedrestricted,moresecuremode
-s,--stop-at{HH:MM|+N}stoptransmissionatHH:MMorinNseconds
-S,--timesyncrequestremotetime(twice:setlocaltime)
--syslog[=off]turnsyslogonoroff,ifpossible
-t,--
-u,--keep-
-U,--(ifallowedto)
-v,--verbosebeverbose,providedebugginginformation
-w,--windowsizeNWindowisNbytes(Z)
-X--xmodemuseXMODEMprotocol
-y,--overwriteYes,clobberexistingfileifany
--ymodemuseYMODEMprotocol
-Z,--zmodemuseZMODEMprotocol
#sz--help
szversion0.12.20
Usage:sz[options]file...
or:sz[options]-{c|i}COMMAND
Sendfile(s)withZMODEM/YMODEM/XMODEMprotocol
(X)=optionappliestoXMODEMonly
(Y)=optionappliestoYMODEMonly
(Z)=optionappliestoZMODEMonly
-+,--(Z)
-2,--twostopuse2stopbits
-4,--try-4kgoupto4Kblocksize
--start-4kstartwith4Kblocksize(doesn'ttry8)
-8,--try-8kgoupto8Kblocksize
--start-8kstartwith8Kblocksize
-a,--asciiASCIItransfer(changeCR/LFtoLF)
-b,--binarybinarytransfer
-B,--bufsizeNbufferNbytes(N==auto:bufferwholefile)
-c,--(Z)
-C,--command-(Z)
-d,--dot-to-slashchange'.'to'/'inpathnames(Y/Z)
--delay-
-e,--(Z)
-E,--
-f,--full-pathsendfullpathname(Y/Z)
-i,--immediate-commandCMDsendremoteCMD,returnimmediately(Z)
-h,--helpprintthisusagemessage
-k,--1ksend1024bytepackets(X)
-L,--(Z)
-l,--(l>=L)(Z)
-m,--min-
-M,--min-bps-timeNforatleastNseconds(default:120)
-n,--newersendfileifsourcenewer(Z)
-N,--newer-or-(Z)
-o,--16-bit-(Z)
-O,--disable-timeoutsdisabletimeoutcode,waitforever
-p,--(Z)
-r,--(Z)
-R,--restrictedrestricted,moresecuremode
-q,--quietquiet(noprogressreports)
-s,--stop-at{HH:MM|+N}stoptransmissionatHH:MMorinNseconds
--
--tcp-serveropensocket,waitforconnection
-u,--
-U,--(ifallowedto)
-v,--verbosebeverbose,providedebugginginformation
-w,--windowsizeNWindowisNbytes(Z)
-X,--xmodemuseXMODEMprotocol
-y,--
-Y,--overwrite-or-skipoverwriteexistingfiles,elseskip
--ymodemuseYMODEMprotocol
-Z,--zmodemuseZMODEMprotocol
.com。
9. 如何 连接 linux git服务器
1、前期准备 服务器上配置好的git git客户端 1.1 在服务器上安装git (本机所使用的linux是ubuntu) 在服务器输入命令:sudo apt-get install git即可 然后创建名字为git的用户组和用户 1.2 下载客户端 在浏览器地址栏输入:https://git-for-windows.github.io/ 回车后 点击Download进行下载 2、具体操作 2.1 在合适的位置创建一个目录充当git远程仓库(本机位置为/usr/testgit),然后使用init命令初始化仓库 在命令终端输入: sudo git init –bare 2.2 将git init生成的目录所属者改为git 输入命令:sudo chown -R git:git * 至此服务器端的操作完成。 在客户端合适位置使用git 客户端从服务器资源 2.3 首先打开git客户端 点击Git Bash Here 后出现 在git客户端命名终端输入: git clone git@xxxxxx:/rrrrr 其中xxxxxx是远程服务器的地址 rrrrr为git仓库所在位置 如果配置正确你选中的目录下会出现名字为testgit的文件夹 testgit文件夹下随意创建若干个文件 2.3 在git客户端上使用命令 git add 111.txt 222.txt 333.txt 或者使用git add .(将本文件夹下所有文件都add) 该命令的作用是告诉git把文件添加到git仓库 2.4 然后使用git commit命令将文件提交到git仓库 -m 后面的内容为本次提交文件的一些注释内容 此时文件还没有从本地仓库上传到远程服务器仓库 2.5 使用push命令将本地仓库中的内容提交到远程仓库 在git客户端命令终端输入:git push origin master 至此本地仓库中的文件上传已经上传到远程服务器仓库。 在其他文件夹下再次使用 git clone 命令 从远程服务器同步仓库
10. git文件怎么上传到linux
Git 上传本地文件到github
1 git config --global user.name "Your Real Name"
2 git config --global user.email [email protected]
git init
git add .
git commit -m 'Test'
git remote add origin [email protected]:XXX/XXX.git 3 git push -u origin master