git提交代码

如何高效利用GitHub

落爺英雄遲暮 提交于 2020-01-21 13:59:14
正是Github,让社会化编程成为现实。本文尝试谈谈GitHub的文化、技巧与影响。 Q1:GitHub是什么 Q2:GitHub风格 Q3: 在GitHub,如何跟牛人学习 Q4: 享受纯粹的写作与演讲 Q5: 代码帮你找工作 Q6: GitHub还在影响一些什么 Q7: 除了GitHub,还可以选择什么? Q1:GitHub是什么 A1:一家公司 位于旧金山,由 Chris Wanstrath , PJ Hyett 与 Tom Preston-Werner 三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。 在此之前,它是由 Tom 与 Chris 在本地程序员聚会中,开始的一个用于托管git的项目。正如每个伟大的传奇都开始于一场冒险,Tom在这篇文章 我如何辞掉微软30万年薪邀约,创办GitHub 中谈到: 当我老去,回顾一生,我想说,“哇,那是一场冒险“;而不是,“哇,我真的很安稳。“ 另一位创始人 Chris 也详细描述了 GitHub初创的前因后果 ,他说道: Do whatever you want. 于是,在2008年4月10号这一天,GitHub正式成立。 目前看来,GitHub这场冒险已经胜出。根据来自 维基百科关于GitHub的描述 ,我们可以形象地看出GitHub的增长速度: 今天,GitHub已是:

Git的基本使用

有些话、适合烂在心里 提交于 2020-01-21 11:42:31
Git的基本使用 git bash操作 0.git流程 上图包含常用6个命令 专用名词译名 Workspace: 工作区 Index/Stage:暂存区 Repository:仓库区(或者本地仓库) Remote:远程仓库 1.git基本配置 git config --list 可以查看已经配置的参数 有三个级别的存储位置 --system 所有用户(本系统) --global 当前用户(全局) --local 本地配置(当前目录), 默认使用--local 配置提交代码时的用户名和邮箱 $ git config --global user.name 'name' $ git config --global user.email abc@qq.com 2.创建git仓库 初始化当前目录,创建git仓库(生成 .git 文件夹) $ git init 新建一个目录,将其初始化为git仓库 $ git init [dir-name] 连接远程库 $ git remote add `origin` https://github.com/xiangbeiw/TIM.git 使用上述命令时报错,说明本地已经关联了一个远程库,可以使用·git remote -v 查看当前关联所有远程库信息。 删除已有的git远程库 $ git remote rm `库名称` 3. 获得git仓库

【自由生长的Python】为了能有资格放弃,tkinter第一个窗体+熟悉git环境【01】

心不动则不痛 提交于 2020-01-21 03:04:02
上手git+第一个tkinter窗体 目标 总结 步骤 Github上新建一个仓库 创建一个本地git仓库 tkinter的第一个窗体 打标签+用标签 目标 上手git和tkinter,利用tkinter显示一个简单窗体,利用git进行代码版本控制。 Github上新建一个库,用来同步文件; 本地新建一个Git仓库,存放开发中的文件; 第一个代码版本的目标:运行网上查到的例子,显示第一个tkinter的窗体; 根据开发目标,给代码版本设置里程碑,打上标签。里程碑的作用是:可以直接根据里程碑的标签,下载代码,复现文章中的内容。 总结 为啥把总结放在开头? 希望能节省点时间。总结的形式是:干了啥,怎么干的。 Github新建仓库 网页操作 本地新建仓库 git inti 本地仓库关联到远程仓库 git remote add origin git push -u master origin 本地仓库增加文件 git add git commit -m “” 本地仓库同步到远程仓库 git pull git push 代码文件打标签 git tag -a git tag -d // 删除标签 myTkinter 这个项目的V1.0.0版本的代码,是参考 python官方tkinter文档页面 中的例子,显示一个带有按钮的窗体。 根据仓库地址和标签获取对应版本的代码,以便自己可是试试 git

git常用指令详细总结(一看就懂)

大城市里の小女人 提交于 2020-01-20 18:29:16
什么是版本控制 目标 :了解什么是版本控制 版本控制的特点 目前版本控制系统 拥有历史记录 以及 多人协同的版本控制系统 历史记录 多人协同 SVN GIT 集中式版本控制 目标 :了解什么是集中式版本控制 优点: 上手比较简单 终端不需要关心 版本库的问题 缺点:中心化的方式,导致一旦服务器出问题,前功尽弃 分布式版本控制 目标 :了解什么是分布式版本控制 优点:几乎可以实现任何要求 多节点 每个节点都有自己的版本库(本地仓库) 多节点 通过远程仓库来进行系统 缺点:因为几乎可以实现任何要求 导致命令太多 Git介绍 目标 :了解Git的前世今生(了解) 知道git是一个分布式的版本控制系统 介绍: git从Linux起源, 广泛为开发者提供强大的功能 开源社区 github账号 ** 任务 **注册一个github账号 Git的下载和安装 目标-任务 : 下载并安装git 路径 : 1 下载地址: git下载地址 2 安装 windows macOs Linux 3 查看安装成功 $ 表示要在此位置输入内容 # 查阅版本号 $ git --version git version 2.22.0.windows.1 Git的使用方式和GitBash介绍 目标 : 了解git的使用方式 了解gitBash和windows命令行的区别, gitBash可以运行linux命令

i春秋 第二届春秋欢乐赛 Web-Hello World

ぃ、小莉子 提交于 2020-01-20 18:27:23
访问题目 http://106.75.72.168:9999/ 解题过程 审查源码,抓包查看请求头及响应头,今发现flag.xmas.js,提示flag可能存在这个文件中,然而访问这个文件出现404。尝试访问flag.js出现flag.js源码,由于源码太长没看完就放弃了。。。 扫描后台目录没有收获,看来flag只能从flag.js找线索了。把flag.js放控制台运行无收获,就不会了。 查询资料后发现,这个题目考的是git泄露漏洞。使用大佬写的工具 Git_Extract ,可直接获取文件 【upload】 在beyond compare中将flag.js与flag.js.04bb09进行对比,如下: 【upload2】 可以看出开头即为 flag{ ,挑出所有访问量不一样的地方,即可获得flag。 补充git泄露 漏洞原因:在运行git init 初始化代码库时,会在当前目录下产生一个.git的隐藏文件,用来记录代码的变更记录等。在发布代码得时候,没有吧.git这个目录删除,导致可以使用这个文件来恢复源代码。 git文件夹分析 文件夹: hooks:存放一些sheel的地方 info:存放仓库的信息 object :存放所有git对象的地方 refs :存放提交hash的地方 config:github的配置信息 文件: description:仓库的描述信息

git的使用

*爱你&永不变心* 提交于 2020-01-20 16:58:06
1、安装git git config --global user.name ‘XXX’ git config --global user.email ‘XXX’ 2、创建本地库 mkidir learngit //自定义文件夹 cd learngit touch test.md //创建test.md文件 pwd //显示当前目录 3、常用CRT git init //初始化代码仓库 git add learngit.txt //把所有要提交的文件修改放到暂存区 git commit -m ‘add a file’ //把暂存区的所有内容提交到当前分支 git status //查看工作区状态 git diff //查看文件修改内容 git log //查看提交历史 git log --pretty=oneline //单行显示 git reset --hard HEAD^         //回退到上一个版本,其中(HEAD^^(上上版本),HEAD~100(往上100个版本)) commit id //(版本号) 可回到指定版本 git reflog //查看历史命令 其中说明【 工作区(Working Directory) 版本库(Repository) #.git stage(index) 暂存区 master Git自动创建的分支 HEAD 指针 】 git diff

SVN与Git比较的优缺点差异

寵の児 提交于 2020-01-20 16:10:46
目录 一、 集中式vs分布式 二、 版本库与工作区 三、 全局版本号和全球版本号 四、 部分检出 五、 更新和提交 六、 分支和里程碑的实现 七、 分支与合并 八、 撤消操作 九、 权限管理 十、优缺点比较 一、 集中式vs分布式 1. Subversion属于集中式的版本控制系统 集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。 Subversion的特点概括起来主要由以下几条: 每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据; 获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据; 提交必须有网络连接(非本地版本库); 提交需要授权,如果没有写权限,提交会失败; 提交并非每次都能够成功。 如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交 ”… 诸如此类; 冲突解决是一个提交速度的竞赛: 手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决 。 好处:每个人都可以一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限。 缺点:中央服务器的单点故障。 若是宕机一小时,那么在这一小时内,谁都无法提交更新、还原、对比等,也就无法协同工作。如果中央服务器的磁盘发生故障

git常用命令

ぐ巨炮叔叔 提交于 2020-01-20 07:09:13
打开git:开始菜单搜索git,打开git bash 1、查询配置: git config --list 2、git设置用户名和邮箱地址 git config --global user.name “ttest” git config --global user.email test@qq.com 3、获取git项目仓库 有两种方法:第一种是在现有项目或目录下导入所有文件到git;第二种是从一个服务器克隆给一个现有的git仓库。 A、在现有目录中初始化仓库 git init 该命令将创建一个名为.git的子目录,这个目录含有初始化的Git仓库中所有的必须文件。 B、克隆现有的仓库:git clone [url] 使用git clone命令的时候,默认配置下远程GIt仓库中的每一个文件的每一个版本都被拉取下来 git clone https://github.com/StormPuck/API-test 这会在当前目录下创建一个名为API-test的目录,并在这个目录下初始化一个.git文件夹,从原厂仓库拉取下所有数据放入.git文件夹 4、查询文件状态 文件有两个状态:已跟踪、未跟踪。 克隆完仓库后,不做任何修改,则所有文件都是已跟踪状态。 编辑过某些文件之后,由于自上次提交后对它们做了修改,Git将他们标记为已修改文件。逐步将这些修改过的文件放入暂存区,然后提交所有暂存了的修改

关于git的cherry-pick命令

假如想象 提交于 2020-01-20 04:30:57
$ git cherrypick 用一条新的指令-----拣选指令(git cherry-pick) 实现提交在新的分支上"重放", 拣选指令----git cherry-pick 其含义就是从众多的提交中选出一个提交应用在当前的工作分支中.该命令需要提供一个提交ID作为参数.操作过程相当于将该提交,导出为补丁文件,然后在当前HEAD上重放,形成无论内容还是提交说明都一致的提交. git cherry-pick用于把另一个本地分支的commit修改应用到当前分支。(当时我遇到的那种环境,6.0的已经整合好, 在把6.0对应的改变整合到5.6和5.5版本上) 实际问题 在本地 master 分支上做了一个commit ( 38361a68138140827b31b72f8bbfd88b3705d77a ) , 如何把它放到 本地 old_cc 分支上? 办法之一: 使用 cherry-pick. 根据git 文档: Apply the changes introduced by some existing commits 就是对已经存在的commit 进行apply (可以理解为再次提交) 简单用法 : git cherry-pick <commit id> 例如: $ git checkout old_cc $ git cherry-pick 38361a68 1. 如果顺利

Git分支版本管理

一世执手 提交于 2020-01-20 04:10:17
Git分支版本管理   现在主流的代码管理工具基本上就是git了,svn虽然说也有人在用,但是毕竟不是那么的多了,git就不一样了,依旧是在呗大多数人所接受着,国内一般人使用的是 开源中国 的git库管理,也有人在用国外的 GitHub 去做云端的库管理,甚至也可以自己搭建Git管理的中央库,例如 gitlab 等。   在使用Git去管理最重要的一点就是分支的管理,官网是这么说的:   首先我看中的是第二点,基于角色,也就是说git当中每一个分支都是一个角色,各有各的功能,例如开发分支、生产分支、测试分支等等。   那第一点和第三点是什么意思呢?在我的理解看来第一点和第三点所说的是临时分支,何为临时分支,临时就是用的时候就用不用的时候就删除掉,不会被保留下,这就是临时分支,同样第四点也是差不多的含义,这是 Git 很好用的一个特性,方便开发对某一个单独的功能进行测试。 下面来一张我自己所理解到的Git分支管理的流程图   下面说下我图里面的所有相关分支信息 Master分支: 主分支 ,用来发布生产环境代码或者说线上代码,只有项目管理员或者发布人员才有权限去进行修改; Develop分支: 开发分支 ,所有的开发人员使用的分支,同样只有项目管理员以及开发人员才能查看,当所有功能都开发完毕之后此分支就是最新的代码分支; Test分支: 测试分支 ,该分支为动态生成,非存储