GitHub基本利用_github命令行在哪运行

宁睿  论坛元老 | 2025-3-17 06:52:07 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1055|帖子 1055|积分 3175

过了一周,你想找回被删除的文字,但是已经记不清删除前生存在哪个文件里了,只好一个一个文件去找,真麻烦。
看着一堆乱七八糟的文件,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删,真郁闷。
更要命的是,有些部门需要你的财务同事资助填写,于是你把文件Copy到U盘里给她(也可能通过Email发送一份给她),然后,你继承修改Word文件。一天后,同事再把Word文件传给你,此时,你必须想想,发给她之后到你收到她的文件期间,你作了哪些改动,得把你的改动和她的部门合并,真困难。
假如有一个软件,不但能自动帮我记载每次文件的改动,还可以让同事协作编辑,如许就不用自己管理一堆雷同的文件了,也不需要把文件传来传去。假如想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便? 这个软件用起来就应该像这个样子,能记载每次文件的改动:

如许,你就竣事了手动管理多个“版本”的史前时代,进入到版本控制的21世纪。
Git的诞生

许多人都知道,Linus在1991年创建了开源的Linux,从此,Linux体系不断发展,已经成为最大的服务器体系软件了。
Linus虽然创建了Linux,但Linux的壮大是靠全天下热心的志愿者参与的,这么多人在天下各地为Linux编写代码,那Linux的代码是如何管理的呢?
事实是,在2002年以前,天下各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码!
你也许会想,为什么Linus不把Linux代码放到版本控制体系里呢?不是有CVS、SVN这些免费的版本控制体系吗?由于Linus坚定地反对CVS和SVN,这些会合式的版本控制体系不但速率慢,而且必须联网才能使用。有一些商用的版本控制体系,虽然比CVS、SVN好用,但那是付费的,和Linux的开源精神不符。
不过,到了2002年,Linux体系已经发展了十年了,代码库之大让Linus很难继承通过手工方式管理了,社区的弟兄们也对这种方式表达了猛烈不满,于是Linus选择了一个商业的版本控制体系BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制体系。
安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,难免沾染了一些梁山豪杰的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不但他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。
Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。现实情况是如许的: Linus花了两周时间自己用C写了一个分布式版本控制体系,这就是Git!一个月之内,Linux体系的源码已经由Git管理了!牛是怎么定义的呢?大家可以体会一下。
Git迅速成为最盛行的分布式版本控制体系,尤其是2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁徙至GitHub,包罗jQuery,PHP,Ruby等等。
历史就是这么偶然,假如不是当年BitMover公司威胁Linux社区,可能如今我们就没有免费而超等好用的Git了。
会合式VS分布式

Linus一直悔恨的CVS及SVN都是会合式的版本控制体系,而Git是分布式版本控制体系,会合式和分布式版本控制体系有什么区别呢?
先说会合式版本控制体系,版本库是会合存放在中央服务器的,而干活的时间,用的都是自己的电脑,以是要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回抵家自己改,改完了,再放回图书馆。

会合式版本控制体系最大的毛病就是必须联网才能工作,假如在局域网内还好,带宽够大,速率够快,可假如在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分钟,这还不得把人给憋死啊。
分布式版本控制体系与会合式版本控制体系有何不同?
首先,分布式版本控制体系根本没有“中央服务器”每个人的电脑上都是一个完整的版本库,如许,工作的时间,就不需要联网了,由于版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以相互看到对方的修改了。
其次,和会合式版本控制体系相比,分布式版本控制体系的安全性要高许多,由于每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,任意从其他人那里复制一个就可以了。而会合式版本控制体系的中央服务器要是出了问题,所有人都没法干活了。
在现实使用分布式版本控制体系的时间,其实很少在两人之间的电脑上推送版本库的修改,由于可能你们俩不在一个局域网内,两台电脑相互访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制体系通常也有一台充当“中央服务器”的电脑(远程仓库),但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。

Git的使用

源代码版本管理

1、什么是源代码版本管理 我们每一次修改大概增加新的功能都算是一个版本 我们对每一次的修改做一次生存记载就是版本管理
2、源代码版本管理的意义 a、假如我们的项目需要回退 b、多人协作开发 c、记载整个开发流程
3、在现实开发中,常用的源代码版本管理工具:Git和SVN
Git安装

最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix体系上跑。不过,逐步地有人把它移植到了Windows上。如今,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。
Git官网:https://git-scm.com/
https://gitforwindows.org/
注意:第一次使用Git需要设置用户信息
  1. git config --global user.name 用户名   #配置git的用户名
  2. git config --global user.email 邮箱       #配置用户的邮箱
  3. git config --list #检查信息是否写入成功
复制代码
由于Git是分布式版本控制体系,以是,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,假如有人故意假冒别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有假冒的也是有办法可查的。
注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个设置,当然也可以对某个仓库指定不同的用户名和Email地址。
Git中需要理解的概念

版本库又名仓库,英文名repository,你可以简单理解成一个目次,这个目次里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时候都可以追踪历史,大概在将来某个时候可以“还原”。
在项目目次通过git init命令把这个目次酿成Git可以管理的仓库:
工作区

工作区(Working Directory):是我们自己创建的项目目次,存放代码的位置,可以是新建的,也可以是已经建好的项目。
版本库

工作区有一个隐蔽目次.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了许多东西,此中最重要的就是称为stage(大概叫index)的暂存区,尚有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。


  • 暂存区(stage):项目目次中文件内容修改后暂时存放的位置,用于临时存放你的改动,事实上它只是一个文件,生存即将提交的文件列表信息。
  • 本地仓库(git repository):修改的内容提交后生存的位置,就是安全存放数据的位置,这里边有你提交的所有版本的数据。此中,HEAD 指向最新放入仓库的版本(应该是 Git 仓库中 HEAD 指向的版本)。
后面还会用到远程仓库:码云、github。

Git 的一般工作流程


  • 在工作目次中添加、修改文件;
  • 将需要进行版本管理的文件放入暂存区域;
  • 将暂存区域的文件提交到 Git 仓库。
因此,Git 管理的文件有三种状态:已修改(modified)、已暂存(staged)和已提交(committed),依次对应上边的每一个流程。
首先这里再明确一下,所有的版本控制体系,其实只能跟踪文本文件的改动,好比TXT文件,网页,所有的程序代码等等,Git也不例外。版本控制体系可以告诉你每次的改动,好比在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制体系管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制体系不知道,也没法知道。
不幸的是,Microsoft的Word格式是二进制格式,因此,版本控制体系是没法跟踪Word文件的改动的,前面我们举的例子只是为了演示,假如要真正使用版本控制体系,就要以纯文本方式编写文件。
由于文本是有编码的,好比中文有常用的GBK编码,日文有Shift_JIS编码,假如没有历史遗留问题,猛烈发起使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。
使用Windows的童鞋要特别注意:
千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来生存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到许多不可思议的问题,好比,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。
Git常用命令

1、进入项目目次:
  1. cd 项目目录的路径      #进入项目目录
复制代码
2、初始化本地git仓库:
  1. git init        #初始化一个git仓库(repository),初始化完成之后会在项目目录中自动创建一个.git隐藏文件夹,此文件夹是git的版本记录,用来跟踪或者管理git仓库
复制代码
3、查看版本库的状态:
  1. git status          #查看当前git仓库的状态
  2. git status -s       #简单方式查看git仓库的状态
  3. 三种状态
  4. 1.untraked file (工作区的文件未被跟踪的文件: 新建的文件没被暂存)
  5. 2.changes to be commited(暂存区的文件,将要被提交的修改: 文件已经被存入暂存区,还没有提交到本地仓库)
  6. 3.changes not staged for commit(没有准备提交的修改或文件之前提交过,然后进行了修改但还未add)
复制代码
4、查看修改的内容:
  1. git diff                 #可以查看修改内容
复制代码
5、把工作区的文件添加到暂存区以下带序号的为本地添加到远程库的步骤,共五步)
  1. 1. git add 文件名     #把没有添加到暂存区的文件添加到暂存区(文件名可写多个)
  2. 2. git add .           #把工作区没有添加到暂存区文件全部添加到暂存区(一次添加多个)
复制代码
6、把暂存区的文件提交到本地仓库
  1. 3. git commit -m 备注信息      #把加入暂存区的文件提交到本地仓库(实际上就是把暂存区的所有内容提交到当前分支)
  2. 如果是main分支,一定要过一遍git add . 和commit -m"" 之后再创建和切换分支再重复操作
  3. 这一步之后先看当前分支是否是你想要的分支,如果是刚创建的是没有分支的,默认main分支,如果显示main分支切记要去创建个master分支再切换到master分支
  4. 最后再执行一遍git add . 再git commit -m"" 最后按照流程往下走即可
复制代码
拉取远程仓库代码----提交到远程仓库
  1. 4.先使用:git pull --rebase origin master          #把远程库的内容同步到本地仓库(如果连接完成库之后,远程库没有增加新的内容,这一步可以忽略)
  2. 5.再使用:git push -u origin master                #把本地仓库的内容推送到远程库(实际上是把当前分支master推送到远程库origin)
复制代码
7、查看版本库的历史利用记载
  1. git log             #查看git操作的详细历史记录
  2. 比如:
  3. commit b979bc1782e8f56750554323474da72ebca03553 #本次操作的版本号(commit id 版本号是唯一的)
  4. Author: jinxizhen <842166299@qq.com>            #用户信息
  5. Date:   Thu Jan 19 11:40:55 2017 +0800          #提交的日期
  6.     初始化了git仓库并创建index.txt                  #提交的备注信息
复制代码
  1. git log --oneline           #把git操作日志简化为一行显示
  2. git log --pretty=oneline  #简化信息,方便查看
  3. git reflog                  #查看操作命令及日志
复制代码
版本回退

第一种:修改的内容还没有添加到暂存区
  1. git checkout -- 文件名     #撤销工作区最后一次修改的内容,前提是修改的内容还没有添加到暂存区
复制代码
第二种:修改的内容已经添加到暂存区,但是还没有提交到本地仓库
  1. 先使用 git reset HEAD 文件名      #撤销添加到暂存区的内容
  2. 再使用 git checkout -- 文件名           #回退到上一个状态
复制代码
第三种:修改的内容已经提交到了本地仓库
  1. git reset --hard HEAD^ //回退到当前工作区版本的上一个版本
  2.   HEAD^:上一个版本
  3.   HEAD^^:上上一个版本
  4.   HEAD~100:上100个版本
  5. 如果已经记不清是上几个版本了,直接使用版本id
  6. git reset --hard 版本id    #回退到指定的版本号的状态      
  7.         版本id就是commit提交时产生的id
复制代码
分支利用以下带序号的为创建分支到同步远程库项目标步骤,共七步)

每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支,以是分支就是一条commit时间线。
一个项目可以对应多条分支,也可以对应一条分支
HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,以是,HEAD指向的就是当前分支。
创建分支并切换两步完成:
  1. 1.git branch 分支名      #创建一个分支
  2. 2.git checkout 分支名    #切换到指定的分支
复制代码
添加项目
  1. 3.git add .
  2. 4.git commit  -m"备注信息"
  3. 第五步参考下面的 : 本地分支与远程分支同步
  4. 执行完第五步后再执行这个第六步
  5. 6. git pull
  6. 7. git push
  7. 如果git push报如下错误
  8. $ git push
  9. fatal: The current branch master has no upstream branch.
  10. To push the current branch and set the remote as upstream, use
  11.     git push --set-upstream origin master
  12. To have this happen automatically for branches without a tracking
  13. upstream, see 'push.autoSetupRemote' in 'git help config'.
  14. 就执行下面命令即可解决
  15. git push --set-upstream origin master
  16. 至此结束
复制代码
创建分支并切换一步完成:
  1. git checkout -b 分支名 #创建一个分支,并切换到分支(相当于创建+切换)
复制代码
查看所有分支:
  1. git branch            #查看所有分支,当前的分之前会有一个*符号
复制代码
合并分支(三个代码就完成):
  1. 1.git merge 分支名   #合并指定分支的内容到当前分支(例如将分支内容合并到master上,需要先切换到mester分支再执行此命令),fast forward模式
  2. //合并完了需要重新pull 和 push 一下
  3. 2.git pull
  4. 3.git push
  5. git merge --no-ff 分支名 #可以看出曾经合并过
复制代码
合并分支时,加上--no-ff参数就可以用平凡模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。–no-ff参数,表示禁用Fast forward
删除分支:
  1. git branch -d 分支名  #删除分支
  2. git branch -D 分支名  #强行删除
复制代码
查看分支合并图:
  1. git log --graph                 #查看分支合并信息
  2. git log --graph --pretty=oneline --abbrev-commit  #简化信息
复制代码
本地分支与远程分支同步:
  1. 5.git push -u origin 分支名  #本地创建分支推送到远程库
复制代码
标签管理

一个版本库生存一个分支master,各自的版本库生存着各自的分支,各自的主分支名称都为master。 发布一个版本时,我们通常先在版本库中打一个标签,如许,就唯一确定了打标签时候的版本。将来无论什么时间,取某个标签的版本,就是把那个打标签的时候的历史版本取出来。以是,标签也是版本库的一个快照。
标签是指向某个commit的指针
打标签:git tag <name> #默认标签是打在最新提交的commit上
  1. git tag <name> commit-id(可选)
  2. git tag -a <name> -m '说明' commit-id(可选)
复制代码
查看标签:git tag 查看标签信息:git show <tagname> 删除标签:git tag -d <tagname> (本地)
推送标签到远程:
  1. git push origin <tagname>  #推送单个
  2. git push origin --tags  #推送多个
复制代码
远程仓库

Git是分布式版本控制体系,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,今后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。
现实使用中可以找一台电脑充当服务器的脚色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,而且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。这个服务器就是远程仓库,不过,不需要我们自己搭建运行Git的服务器。好在这个天下上有个叫GitHub的神奇的网站,从名字就可以看出,这个网站就是提供Git仓库托管服务的,以是,只要注册一个GitHub账号,就可以免费获得Git远程仓库。
国际上使用GitHub的比力多,在国内也有许多人使用码云,可以把码云当作国产的GitHub。GitHub使用人数比力多,找开源的代码比力方便,但是由于是纯英文版,对一些小伙伴不是很友好,而且网站打开速率比力慢,以是我们可以使用码云来代替GitHub,由于两者使用方式出奇的一致,把握了码云的使用也就把握了GitHub的使用。
码云

官网:https://gitee.com/
添加公钥 sshkey

由于你的本地Git仓库和码云仓库之间的传输是通过SSH加密的,在使用 SSH 协议访问仓库仓库之前,需要先设置好账户/仓库的SSH公钥。
最新步骤:https://gitee.com/help/articles/4181#article-header0
第一步:创建SSH Key。在用户主目次下,看看有没有.ssh目次,假如有,再看看这个目次下有没有id_rsa和id_rsa.pub这两个文件,假如已经有了,可直接跳到下一步。假如没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
  1. ssh-keygen -t rsa -C "842166299@qq.com"   #生成公钥(邮箱:注册码云的邮箱)
复制代码
生成公钥的步骤:


  • 生成公钥时,会提示我们选择生存的路径, 好比:Enter file in which to save the key (/Users/1/.ssh/id_rsa): 路径使用默认的,直接回车。
  • 假如提示已经存在,可以直接覆盖掉,输入:y 然后回车 好比:/Users/1/.ssh/id_rsa already exists. Overwrite (y/n)?
  • 末了会提示输入密码,由于这个Key也不是用于军事目标,以是也无需设置密码,直接回车,就可以生成公钥
假如一切顺遂的话,可以在用户主目次里找到.ssh目次,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄袒露去,id_rsa.pub是公钥,可以放心地告诉任何人。
第二步:查看公钥
  1. cat ~/.ssh/id_rsa.pub     #查看公钥
复制代码
好比输出:
  1. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC53lok+oPntpwg0E0p6z2Klxb7275YyWcWyxiQZk7sKL0J90xi1btvqd7MVEHH2UvuPluSKwyLVTQCmA1iWlqyRjuO4LBeY85feqkhKWi+haq5u9NEAcALS00vNH6URWS7Uz5gU1RIs3F9Ssd9V/VsWNJ28DVIGKYM2s8Vs0K1CQ3l0Ed0onlOsOb2vUa/5k8R64P8vS+EpV/1XsxH99cQK2tq8A6tyRBAGe406s/sNufV/EYvGcM9nQyz+QI/lxcoHCw0xc9kkezxk4X8uTxgwMBx5EkTmMzYxcr34jT+ltsMHULmaJPWoN4J55EdINY+9YzfpwqYABoQATjK0p8z 842166299@qq.com
复制代码
第三步:验证是否乐成
  1. ssh -T git@gitee.com    #验证公钥是否添加成功,比如:如果返回Welcome to Git@OSC, jinxizhen! 说明返回成功
复制代码
为什么码云需要SSH Key呢?由于码云需要辨认出你推送的提交确实是你推送的,而不是别人假冒的,而Git支持SSH协议,以是,码云只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,码云允许你添加多个Key。假定你有多少电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到码云,就可以在每台电脑上往码云推送了。
末了友谊提示,在码云上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。以是,不要把敏感信息放进去。
假如你不想让别人看到Git库,有两个办法,一个是交点保护费,让码云把公开的仓库酿成私有的,如许别人就看不见了(不可读更不可写)。另一个办法是自己动手,搭一个Git服务器,由于是你自己的Git服务器,以是别人也是看不见的。
Git毗连远程库


添加远程库

如今的情景是,你已经在本地创建了一个Git仓库后,又想在码云创建一个Git仓库,而且让这两个仓库进行远程同步,如许,码云上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。
第一步:毗连远程库
  1. git remote add origin git@gitee.com:Jinxizhen/weather.git   #连接远程库,把本地创建好的仓库同步到远程库
复制代码
请千万注意,把上面的git@gitee.com:Jinxizhen/weather.git替换成你自己的远程库地址。添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
第二步:有两步利用
第一次同步远程仓库和本地仓库使用下面两条指令
  1. 先使用:git pull --rebase origin master          #把远程库的内容同步到本地仓库(如果连接完成库之后,远程库没有增加新的内容,这一步可以忽略)
  2. 再使用:git push -u origin master                #把本地仓库的内容推送到远程库(实际上是把当前分支master推送到远程库origin)
复制代码
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送大概拉取时就可以简化命令。
第二次开始同步远程库 大概 推送本地仓库内容到远程库就不用那么麻烦了,使用下面的指令即可:
  1. git pull          #把远程库的内容同步到本地仓库
  2. git push        #把本地仓库的内容推送到远程库
复制代码
SSH告诫

当你第一次使用Git的clone大概push命令毗连GitHub时,会得到一个告诫:
这是由于Git使用SSH毗连,而SSH毗连在第一次验证码云服务器的Key时,需要你确认码云的Key的指纹信息是否真的来自码云的服务器,输入yes回车即可。
Git会输出一个告诫,告诉你已经把码云的Key添加到本机的一个信任列表里了:
这个告诫只会出现一次,后面的利用就不会有任何告诫了。
删除远程库

假如添加的时间地址写错了,大概就是想删除远程库,可以用git remote rm <name>命令。使用前,发起先用git remote -v查看远程库信息:
  1. git remote     #它会列出每个远程库的简短名字
  2. git remote -v  #-v 选项,显示对应的克隆地址
复制代码
然后,根据名字删除,好比删除origin:
  1. $ git remote rm origin
复制代码
此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库自己并没有任何改动。要真正删除远程库,需要登录到码云,在配景页面找到删除按钮再删除。
从远程库克隆

假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆到本地仓库。
从远程仓库克隆时,现实上Git自动把本地的master分支和远程的master分支对应起来了,如图

第一步:克隆远程库
  1. git clone https://git.oschina.net/jinxizhen/weather.git  #克隆项目,把远程库创建好的项目同步到本地
复制代码
第二步:同步大概推送
  1. git pull                    #同步远程库的文件到本地
  2. git push             #同步本地的文件到远程库
复制代码
其他

你也许还注意到,码云给出的地址不止一个,还可以用https://git.oschina.net/jinxizhen/weather.git如许的地址。现实上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。
使用https除了速率慢以外,尚有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https。
.gitignore文件

有些时间,你必须把某些文件放到Git工作目次中,但又不能提交它们,好比生存了数据库密码的设置文件啦,等等,每次git status都会显示Untracked files ...,有逼迫症的童鞋内心肯定不爽。
好在Git考虑到了大家的感受,这个问题办理起来也很简单,在Git工作区的根目次下创建一个特别的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
忽略文件的原则是:

  • 忽略利用体系自动生成的文件,好比缩略图等;
  • 忽略编译生成的中间文件、可实验文件等,也就是假如一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,好比Java编译产生的.class文件;
  • 忽略你自己的带有敏感信息的设置文件,好比存放口令的设置文件。
  1. 文件.gitignore的格式规范:
  2. #为注释   
  3. 以斜杠/开头表示目录;
  4. 以星号*通配多个字符;
  5. 以问号?通配单个字符
  6. 以方括号[]包含单个字符的匹配列表;
  7. 以叹号!表示不忽略(跟踪)匹配到的文件或目录;
复制代码
例子
  1. # 此为注释 – 将被 Git 忽略
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宁睿

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表