git提交代码

GIT命令行统计代码提交行数

允我心安 提交于 2019-11-28 04:18:16
项目中遇到写报告的时候要反馈某个人或者某个功能的代码量,又没有集成CI这些插件,可以简单的用GIT命令统计下代码提交量: --统计某个人的提交代码 git log --author="oldwang" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "增加的行数:%s 删除的行数:%s 总行数: %s\n",add,subs,loc }' --统计某个人时间范围的提交代码 git log --author="oldwang" --since='2019-04-01' --until='2019-04-07' --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "增加的行数:%s 删除的行数:%s 总行数: %s\n",add,subs,loc }' --统计每个人增删行数 git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: 来源:

Git学习——基础知识

倾然丶 夕夏残阳落幕 提交于 2019-11-28 04:09:27
Git是一个 分布式版本控制系统 (Distributed Version Control System,简称 DVCS)。因为每一次的克隆操作,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来 。 1. Git对待数据——直接记录快照,而非差异比较 Git 和其它版本控制系统的主要差别在于对待数据的方法,其它大部分系统以文件变更列表的方式存储信息,将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。如下图所示: Git 更像是把数据看作是对小型文件系统的一组快照。 每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。 为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个 快照流 ,如下图所示: 2. Git保证数据的完整性 Git 中所有数据在存储前都计算校验和,然后以yi校验和来引用。 这意味着不可能在 Git 不知情时更改任何文件内容或目录内容。Git 用以计算校验和的机制叫做 SHA-1 散列(hash,哈希)。 这是一个由 40 个十六进制字符(0-9 和 a-f)组 成的字符串,基于 Git 中文件的内容或目录结构计算出来。 3. Git文件的三种状态:已提交、已修改和已暂存 Git 有三种状态,你的文件可能处于其中之一

Git入门

白昼怎懂夜的黑 提交于 2019-11-28 04:02:20
一、版本控制 1、什么是版本控制   版本控制 是一种记录一个或若干个文件 的内容变化,以便于将来查阅特定版本修订情况的系统。 2、为什么使用版本控制   采用版本控制系统(VCS),可以方便的查询各个阶段(时间节点)的代码,即使你将代码修改的一塌糊涂,你依旧可以很方便的返回到原来的版本,减少额外的工作量。 3、常用版本控制系统分类 (1)本地版本控制系统(VCS)。例如:RCS。 (2)集中化的版本控制系统(CVCS)。例如:CVS、SVN。 (3)分布式版本控制系统(DVCS)。例如:Git。 二、Git 1、什么是Git   Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开源的版本控制软件。 2、Git与其他版本控制系统的区别   区别在于对待数据的方式不同。   大部分版本控制系统(如:CVS,Perforce)将它们保存的信息 看做是一组基本文件 和 每个文件随时间逐步累积的差异。即存储的是每个文件与初始版本的差异。   Git将保存的信息看成 对小型文件系统的一组快照。只要你提交更新或更新Git状态时,它都会对整个文件制作一个快照并保存这个快照的索引,为了高效,当文件没被修改时,Git不再重新存储这个文件,但会保留一个链接指向之前存储的文件

项目常用git命令

為{幸葍}努か 提交于 2019-11-28 03:29:42
git命令一直不熟,记了又忘,在这里就做个记录吧。 平时有用到的,还有遇到的问题,以及解决办法,也会一一记录下来,做个分享。 1.github创建完一个仓库后,设置错了源,删除原来的源命令: git remoter remove origin 2.本地仓库关联远程仓库,先设置源:  git remote add origin https://github.com/xxx/xxx.git 再提交代码: git push -u origin master 来源: https://www.cnblogs.com/scallop/p/11389268.html

git用法

五迷三道 提交于 2019-11-28 03:24:02
git用法 Git 是什么 Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。 团队开发会这些命令就够了!第一次使用git的时候设置用户名:git config --global user.name 【git用户名】​设置邮箱:git config --global user.email 【邮箱地址】​查看当前用户信息:git config --list ​操作步骤:初始化git仓库:git init​追踪文件:git add 【文件名】​将工作目录中的文件全部添加到暂存区:git add .​查看文件状态:git status​向本地仓库中提交代码:git commit -m 【提交时的描述】​用暂存区中的文件覆盖工作目录中的文件:git checkout 【文件名】​将文件从暂存区中删除:git rm --cached 【文件名】将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:git rest --hard commitID​查看提交记录:git log​克隆远程仓库文件到本地仓库:git clone 【 仓库地址】​把本地仓库的文件提交到远程仓库:git push 【仓库地址】【分支名称】 git push -u【仓库地址】【分支名称】-u 记住推送地址及分支

码云 git 常用命令

不羁的心 提交于 2019-11-28 02:16:33
git 常用命令 git init 创建一个本地文件 ①git add . 当前文件夹下的所有内容 添加到暂存区 git add test.txt 指定文件夹添加 可以添压缩文件 ②git comit -m "第一次提交'' ③git push -origin master 将本地仓库中添加的内容上传到远程仓库 git push -oring master -f 强制将本地文件夹中的内容覆盖到云上 注意用Notepad++创建文本写代码 若是电脑创建的笔记本文本,则要以UTF-8的形式提交 做一篇有温度的技术博客 给人奋斗的热意 和生活的暖意 来源: https://www.cnblogs.com/-xct/p/11938363.html

git开发实战:问题解决

。_饼干妹妹 提交于 2019-11-28 01:42:40
git作为一个高效的开发协作工具,其版本管理和分支管理是其高效管理代码的体现。但是我们在平时开发中,往往要一边修着bug一边做着新功能,这样有可能就会遇到以下几种场景 1、改完bug忘记切换分支了,代码改了很多怎么办。莫慌,git如果这种问题都解决不了何谈高效。使用以下命令即可解决。 1.1 git add . (把所有改动暂存) 1.2 git stash (把暂存的文件提交到git的暂存栈) 1.3 git checkout 本该提交代码的分支 1.4 git stash pop (将暂存栈中的代码放出来)至于是继续改还是提交就随你了 2.代码不但改了,还提交了怎么办。其实最常见的是这种问题,特别是喜欢用idea插件的童鞋,一顿操作猛如虎,一看结果心里哭莫慌,这种场景也能解决 2.1 git checkout 不该提交代码提交了代码的分支 2.2 git reset HEAD~1 (最近一次提交放回暂存区, 并取消此次提交) 2.3 git stash (把暂存的文件提交到git的暂存栈) 2.4 git checkout 该提交代码的分支 2.5 git stash pop下面一顿操作随你猛了,等你把代码提交到了正确的分支后,再次切到刚刚错的分支 2.6 git push origin 错误的分支 -f (把不该上去的文件回退掉) 转自: https://www

git diff 以及解决代码冲突

拟墨画扇 提交于 2019-11-28 01:35:12
我是使用一台电脑测试, 然后在本地电脑创建了两个工作目录。专门用来模拟两个人提交代码。假设a、b两个人。只使用一个master分支做测试, 没有建立其他的分支。 主要就是为了研究冲突的解决方式。感觉git pull总是强制覆盖。 a修改了代码并且提交master分支。     1) 测试一: 远程master分支已改变,然后b现在也修改了代码。不过b还没有提交,直接git pull ,不能拉取代码。报错提示: error: Your local changes to the following files would be overwritten by merge: readme.txt Please commit your changes or stash them before you merge.     2) 先测试 b 选择commit的情况:b 修改代码后,commit 提交了代码。然后git pull,此时提示信息: Auto-merging readme.txt CONFLICT (content): Merge conflict in readme.txt Automatic merge failed; fix conflicts and then commit the result.     3)现在来使用 git diff查看有哪些冲突:(截图在PHP文档里)

git常用命令

这一生的挚爱 提交于 2019-11-28 00:53:04
git status:时刻掌握仓库当前状态,了解哪些文件被修改了,哪些文件没有被修改 git diff readme.txt:查看具体修改的内容 git add xxx.txt:提交修改、提交新文件第一步。把文件添加进去,实际上就是把文件修改添加到暂存区 git status:查看当前仓库状态及修改的文件 git commit -m "修改的内容":提交代码。提交更改,实际上就是把暂存区的所有内容提交到当前分支 git log:显示从最近到最远的提交日志 git log --pretty=oneline:查看Git提交的版本号,commit_id git reset --hard HEAD^:版本回退。在Git中HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上100就是HEAD~100 git reflog:记录每次操作的命令,版本回退用到 git diff HEAD -- readme.txt:命令可以查看工作区和版本库里面最新版本的区别 git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况. 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; 一种是readme.txt已经添加到暂存区后,又作了修改,现在

eclipse(或者STS)+git+码云的结合使用

两盒软妹~` 提交于 2019-11-28 00:46:38
在学到BOS_v2.0这个项目时,会教大家使用git,并且会连接在线仓库“码云”,把代码提交到“码云”上,这也是工作中团队开发必备技能,那么今天就详细来个教程,说说 eclipse(或者STS)+git+码云的结合使用。 一、 在开源中国上面新建一个空项目 到这里也就结束了,一个空项目创建完成。 一、 将本地项目上传到我们新建的项目中去 2.1在eclipse中新建一个测试项目 2.2 右键team->分享项目 . 2.3 将项目本身做为仓库,项目下会多一个.Git的文件夹。 2.4 Finish完成之后,项目会发生一些变化。表示我们没有将数据提交到仓库中,下面将代码提交到本地仓库。 图标改变成桶(数据库图标),并且有一个(test master)主分支,说明提交到本地已经成功了,如下图: 2.5将代码上传到云端 右下角如下图,可以看到进度 最后弹出来,点击ok,不出意外的话,我们的项目应该是成功上传了。 最后,刷新云端。可以看到项目已经成功上传了。 去码云查看已经成功了: 来源: https://blog.51cto.com/14473726/2431082