当前位置: 首页 > Web前端 > HTML5

git:记录学习git,使用git把本地项目放到github上

时间:2023-04-05 01:46:01 HTML5

一、学习步骤因为我用的是win7系统,所以我会用win7来演示我学习和使用git的过程下载git.exe(https://git-scm.com/download/win),然后安装。右键任意空白处,会出现gitguihere和gitbashhere两个选项,说明安装成功。git的两种使用方式:-**Nolocalproject**进入之前安装git的目录,找到git-bash.exe文件,打开,如图:输入以下两条命令:$gitconfig--globaluser.name"你的名字"$gitconfig--globaluser.email"email@example.com"然后我们开始创建目录/*下面的步骤其实相当于在创建一个名为htest的文件夹安装git的目录,然后进入htest文件夹。*/$mkdirhtest//创建一个名为htest的文件夹$cdhest//进入htest文件夹$pwd//显示当前目录/htest-**localexistingproject**直接在你已有的项目上,右键,选择gitbash这里会弹出一个对话框。具体如下:2、实践出真理。接下来开始用自己的项目实践,将项目git到github。注册github账号是老生常谈,就不多说了。地址:https://github.com/在github上创建库。这一步和我这一章的主题不符,就不说了。复制需要提交到github的地址。一切准备就绪后,让我们开始吧。首先我在本地新建了一个空文件夹,然后在空白处右击点击gitbashhere,出现了一个黑色的对话框。在对话框中输入gitclone你在github上的项目地址,ok,我github上的项目已经下载到我本地了。你可以打开之前创建的test文件夹,你会在文件夹中找到一个文件夹。这个文件夹的名字和你在github上的名字一样。将要上传的文件复制到此文件夹中。现在回到git界面,使用gitstatus查看你当前目录下文件的状态。使用git添加。将该目录下的所有文件添加到仓库中。使用gitcommit将项目提交到图书馆。-m后面的引号内是本次投稿的评论内容。这个可以不写,但是最好写进去,不然会报错。这里有两个操作。如果你的github是新库,需要执行这个命令:gitpush-uoriginmaster如果你的github是旧库,可以执行这个命令gitpushoriginmaster区别新旧库的方法是看是否你的github库是空的,如果是新的,否则就是旧的。ok至此,整个上传本地项目到Github的过程就完成了。Git常用命令网上搜索的git常用命令,请确保已安装git客户端。通用配置git--version//查看git的版本信息gitconfig--globaluser.name//获取当前登录用户gitconfig--globaluser.email//获取当前登录用户的邮箱地址tologintogit/*如果刚才没有获取用户配置,只能拉取代码,不能修改。如果你用git,你得告诉git谁在用它*/gitconfig--globaluser.name'userName'//设置git账号,userName是你的git账号,gitconfig--globaluser.email'email'createafoldermkdirnodejs//createfoldernodejscdnodejs//switchtonodejs初始化目录下的git仓库gitinit//初始化nodejs文件夹下的一个仓库。此时会在该文件中创建一个.git的隐藏文件夹来忽略该文件。在文件/*.git.idea*/查看目录ls-al创建一个文件,写入内容如果文件不存在,则创建一个文件echo"hellogit"index.html//写入'hellogit'toindex.html中间一个>箭头表示写入,>>表示追加查看文件内容catindex.html添加到暂存区gitaddindex.htmlgitadd-A//全部添加到缓冲区区并添加到版本库gitcommit-m'备注'查看版本gitlog--oneline比较暂存区和工作区的差异gitdiff比较暂存区和历史区的差异gitdiff--cached比较历史区和工作区的区别(修改)gitdiffmaster撤回内容(如果修改工作区的文件,发现出错,可以将工作区的文件替换成暂存区或版本库中的文件)使用暂存区中的内容或版本库中的内容覆盖工作区gitcheckoutindex.html取消添加到暂存区的内容(添加时)gitresetHEADindex.html//显示目录的状态是否有文件添加或修改gitstatus删除本地文件rmfileName删除暂存区到确保当前工作区没有索引.htmlgitrmindex.html--cached使用--cached表示只删除缓存中的内容rollbackversion回滚到最新版本gitloggitreset--hardHEAD/commit_idrollbackto未来gitreflog分支管理创建分支gitbranchdev切换分支gitcheckoutdev创建分支和切换分支gitcheckout-bdev删除分支gitbranch-ddev在分支上提交新版本gitcommit-a-m'dev1'mergebranchgitmergedev合并日志后分支显示日志git--oneline--graph--decorate分支开发过程中如果遇到其他问题,需要切换到其他分支保留写入的内容。切换到trunk保留内容后,gitstash需要应用第二次切换后保留的内容。gitstashapply丢弃保存的内容gitstashdrop使用和丢弃gitstashpop最佳分支-有时开发需要合并指定的内容而不是合并所有提交,所以我们需要选择最好的,产生我们自己的版本合并分支把树分支关闭到主干gitrebase添加远程仓库push-u-u参数upstreamgitpushoriginmaster-u//获取最新代码连接远程仓库gitremote添加origin仓库地址查看远程仓库gitremote-v删除远程仓库gitremotermoriginitCommon命令安装配置:Ubuntu下安装:sudoapt-getinstallgit配置用户名:gitconfig--globaluser.name"你的名字"配置邮箱:gitconfig--globaluser.email"你的邮箱@xx.com”相关添加:将当前目录转为存储库:gitinit将文件添加到暂存区:gitaddfilename[optional:anotherfilename]将暂存区提交到仓库:gitcommit–m"description"相关查询:查询仓库状态:gitstatus比较文件差异(请使用beforegitadd):gitdiff文件名查看仓库历史(详细):gitlog查看仓库历史(单行):gitlog--pretty=online或gitlog--online查看所有版本commitID:gitreflog与undo相关:撤销对工作区的修改:gitcheckout--filename撤销对暂存区的修改:gitresetHEAD文件名回滚到历史版本:gitreset--hard版本ID回滚到上一版本:gitreset--hardHEAD^以前的版本是HEAD^^,也可以用HEAD~2等表示标签相关:标签当前版本:gittag标签名称为历史版本标签:gittagtagname版本ID指定tag描述:gittag–atagname–m"tagdescription"[optional:versionID]查看所有tag:gittag查看一个tag:gitshowtagname删除一个tag:gittag–d标签名称与GitHub相关:先有本地库,再有远程库,将本地库推送到远程库,将本地仓库和GitHub库关联起来:gitremoteaddorigin网站上的仓库地址会第一次添加本地仓库Push到GitHub:gitpush–uoriginmaster先有远程库,再有本地库,从远程库clone到本地库,从远程库clone到本地:gitclone上的仓库地址website网址可以选择HTTPS协议(https://github.com...),SSH协议(git@github.com...)如果选择SSH协议,必须将Ubuntu公钥添加到GitHub.看下一步SSHKey生成SSHKey:ssh-keygen–trsa–C"youremail@xx.com"生成Key的时候会弹出一个选项,回车选择默认即可。密钥存放位置:/root/.ssh登录GitHub,新建一个SSH密钥,其内容为/root/.ssh/id_rsa.pub文本中已有本地库和远程库,并且两个可以同步本地库的变化并提交到远程库:gitpushoriginmaster将本地库的最新变化更新到远程库:gitpullGit常用命令请确保已安装git客户端一般配置git--version//查看git的版本信息gitconfig--globaluser.name//获取当前登录用户gitconfig--globaluser.email//获取当前登录用户的邮箱地址logintogit/*如果刚才没有得到用户配置,只能pull代码,不能修改。如果你用git,你得Tellgitwhoisusing*/gitconfig--globaluser.name'userName'//设置一个git账号,userName就是你的git账号,gitconfig--globaluser.email'email'createsafoldermkdirnodejs//创建文件夹nodejscdnodejs//切换到nodejs目录初始化git仓库gitinit//在nodejs文件夹下初始化一个仓库,此时会创建一个.git的隐藏文件夹inthefiletoignorethefiletouch.gitignore//不需要服务器提交的内容可以写在忽略文件中/*.git.idea*/查看目录ls-al创建一个文件,写入content如果文件不存在,则创建一个文件echo"hellogit"index.html//将'hellogit'写入index.html单个>箭头表示写入,>>表示追加查看文件内容catindex.html添加到暂存区gitaddindex.htmlgitadd-A//全部添加到缓存区,添加到版本库。gitcommit-m'remarks'查看版本。gitlog--oneline比较差异,比较暂存区和工作区的差异。gitdiff比较暂存区和历史区的区别。git差异--cached比较历史区和工作区的差异(修改)gitdiffmaster撤回内容(如果修改工作区的文件,发现出错,可以替换工作区的文件用暂存区文件或版本库文件)用暂存区或版本库中的内容覆盖工作区。gitcheckoutindex.html取消添加到暂存区的内容(添加时)gitresetHEADindex.html//显示目录的状态为Nofilesaddedormodifiedgitstatus删除本地文件rmfileName删除暂存区区域保证当前工作区没有index.htmlgitrmindex.html--cached使用--cached表示只删除缓存区域中的内容回滚版本回滚最近gitloggitreset--hardHEAD/commit_idrollback到未来gitreflog分支管理创建分支gitbranchdev切换分支gitcheckoutdev创建分支并切换分支gitcheckout-bdev删除分支gitbranch-ddevcommitnewonbranchversiongitcommit-a-m'dev1'合并分支gitmergedev分支并显示合并后的日志gitlog--oneline--graph--decorate分支开发遇到其他问题,需要切换到其他分支继续写gitstash需要应用切换后保留的内容点。gitstashapply丢弃保存的内容。gitstashdrop使用并丢弃最好的分支。有时开发需要合并指定的内容,而不是合并所有的提交,所以我们需要挑选最好的,生产自己的版本并合并分支,将树分支打散到主干gitrebase,添加远程仓库push-u-u参数upstreamgitpushoriginmaster-u//获取最新的代码连接远程仓库地址gitremoteaddoriginwarehouse查看远程仓库gitremote-v删除远程仓库gitremotermorigin