git提交代码

Git 实习一个月恍然大悟合集

爷,独闯天下 提交于 2019-12-01 10:22:23
从开始实习到现在大概有一个月了,这个月时间接触了很多新东西,其中就包括了git版本控制、分支管理等等。我在这段时间里,深深地感受到了git对公司项目代码管理和控制、团队合作带来的益处和其重要性。其实在实习开始前就明白git对于一个合格的程序员来说,是不可不掌握的,但由于之前学校团队人数较少,对于代码的管理没有做严格要求等等原因,于是就没有好好学习git,到了公司实战真是后悔不已!(在学校的时候用qq发送代码文件这样的傻事情没有少做) 这几天认真看了廖雪峰老师的git教程,对以前一些模糊的概念有了更清晰的了解,以及对整个团队利用git进行项目开发、版本控制、分支管理等等都有了进一步的认知。这里要特别感谢大哥孜孜不倦的教诲我哈哈哈! 在读书分享交流会中我了解到黄淇前辈的“恍然大悟合集”,那么希望自己也可以以这样的方式去学习和整理总结在前端路上的一些“恍然大悟”知识点。于是,这次的技术感想便有了自己以下的“恍然大悟”。 1.Git是分布式的版本控制系统,区别于SVN的集中式版本控制系统。两者各有各的好处和弊端,但git是相对更加快速、简单的,如今也更加流行。 2.git中的工作区和暂存区的两个概念非常重要。工作区相对于版本库,通过 git add把工作区的存储到版本库中的stage中,而暂存区stage通过git commit把修改提交到版本库的分支上

Git push 时如何避免出现 \"Merge branch 'master' of ...\"

点点圈 提交于 2019-12-01 10:16:24
在使用 Git 的进行代码版本控制的时候,往往会发现在 log 中出现 "Merge branch 'master' of ..." 这句话,如下图所示。日志中记录的一般为开发过程中对代码的改动信息,如果出现过多例如上述描述的信息会造成日志的污染。 阅读了一些外文的博客,下面就来一探究竟。 产生原因分析 当多人合作开发一个项目时,本地仓库落后于远程仓库是一个非常正常的事情,可参考下图。 A-B-C(master) \ D(origin/master) 具体情境如下: 我当前拉取的远端版本为 B ,此时修改了代码,并在本地仓库 commit 一次,但并未 push 到远端仓库。 另一位开发者在 B 的基础上,同样 commit 了一次并 push 到远端仓库。那么这个时候,我再 push 自己的代码就会发生错误,如下。 To github.com:maoqyhz/usegit.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'git@github.com:maoqyhz/usegit.git' hint: Updates were rejected because the remote contains work that you do hint: not have

Git 常用命令总结,掌握这些,轻松驾驭版本管理

邮差的信 提交于 2019-12-01 10:16:18
原创 最近公司的代码管理工具要从SVN转到Git上,因此虽然之前用过Git,但是都是一些简单的推送提交,因此还是有必要进行一些系统的学习,这里做一下笔记,以备后询,且不定期更新。 关于SVN和Git的比较已经有很多文章说过了,就不再赘述,本文的重点是如何使用 常用 的Git命令进行操作,冷门的就不说了,且比较零散,系统的学习推介廖雪峰的Git教程。 声明 下面用户名都为 SHERlocked93 ,请自行修改成自己的用户名 1. 概览 工作区 Workspace 暂存区 Stage / Index 本地仓库 Repository 远程仓库 Remote 2. 修改 2.1 暂存修改 操作一览 操作 bash 创建stash git stash 查看 git stash list 应用 git stash apply stash@{ <num> } 删除 git stash drop stash@{ <num> } 还原上一个暂存并删除暂存(如无conflict) git stash pop 如果在工作的时候出现了临时需要解决的问题,而你又不希望提交,那么有个 stash 功能 git stash 在暂存后工作区会回退到最近的一个commit的状态,以便开建新分支;比如我们修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除; 当手头工作没有完成时,先把工作现场

git推送代码问题之:ERROR: [abcdefg] missing Change-Id in commit message footer

岁酱吖の 提交于 2019-12-01 10:04:23
一、问题: 在日常的工作中,使用git推送代码时会出现以下报错,“missing Change-Id in commit message” : qinjiaxi:$ git push origin HEAD:refs/for/develop 对象计数中: 31, 完成. Delta compression using up to 48 threads. 压缩对象中: 100% (30/30), 完成. 写入对象中: 100% (31/31), 10.92 KiB | 0 bytes/s, 完成. Total 31 (delta 9), reused 0 (delta 0) remote: Resolving deltas: 100% (9/9) remote: Processing changes: refs: 1, done remote: ERROR: [b27c7da] missing Change-Id in commit message footer remote: remote: Hint: To automatically insert Change-Id, install the hook: remote: gitdir=$(git rev-parse --git-dir); scp -p -P 29418 xxx.com.cn:hooks/commit-msg $

git统计项目中成员代码量

别说谁变了你拦得住时间么 提交于 2019-12-01 09:56:55
查看git上个人代码量 git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %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: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done 查看仓库提交者排名前 5 git log --pretty='%aN' | sort | uniq -c | sort -k1 -n -r | head -n 5 贡献者统计: git log --pretty='

Git的基本知识和常用指令

筅森魡賤 提交于 2019-12-01 09:51:37
一、Git代码状态转换图 其中: 未被Git跟踪的状态为unstage状态; 已被Git跟踪的状态为stage状态(stage:阶段),因此包括staging状态和staged状态。 untrack files:是指尚未被git所管理的文件;changed but not updated:是指文件被git管理,并且发生了改变,但改动还没被git管理;这两种状态,都可以看成是改动还没被git管理的状态,我们这里称unstage状态。 staging是commit和未管理之间的一个状态,也有别名叫index状态,也就是git已经管理了这些改动,但是还没完成提交。changes to be commited是指进入staged状态的文件。 .gitignore中的文件,不会出现在以上三个状态中。 注: 这个图也解释了为啥从远端库拉代码,不需要add、commit。 代码一旦修改,就会成为未被git库跟踪的状态。需要add、commit。 二、大白话Git 1.Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。 2.Git有什么特点?简单来说就是:高端大气上档次!   2.1、Git 管理代码,保证代码版本迭代连续性,即:向A分支merge或者push代码时,A分支代码必须是当前代码的上一个版本,不然会产生冲突。(换句话说:Git确保当前的本地的代码为最新)   2

git的基本使用命令

强颜欢笑 提交于 2019-12-01 09:50:30
创建版本库 什么是版本库?版本库也叫仓库,是用来存放我们项目的一个仓库,在项目里面的所有文件包括代码,配置文件等等都可以被git管理起来,每一个文件的修改,删除,git都可以进行跟踪,以便任何时刻都可以跟踪历史,或者在将来某个时刻将文件还原。 通过git init这个命令可以把我们需要进行git项目管理的项目变成git可以管理的仓库 如何将文件添加到版本库中 使用git add 接需要上传的文件或者目录 添加到暂存区去 使用git commit -m "接备注信息比如修改了哪里" 告诉git把这个文件提交到仓库 使用git status 来查下工作区和缓存区的情况(如果有显示为红色的则是用修改还没有提交,显示为空的话表示全部提交了) 使用git diff 接上传到git仓库的项目可以查到修改的内容 版本回退 如果你的项目修改了多次,且每次都上传了,可以使用git log命令查看各个版本上传的详细内容,可以使用git log --pretty=oneline命令来简化显示界面 如果我们发现最新上传的文件有错误或者出现问题了,我们可以执行版本回退命令来回退版本。比如:我们回退到上一个版本,可以使用git reset --hard HEAD^ 使仓库回到上一个版本, 使用git reset --hard HEAD^^ 命令使版本回到上上一个版本,HEAD^^^依次类推

git分支合并

荒凉一梦 提交于 2019-12-01 09:44:54
例:将远程qs分支合并到本地alan分支 // 1.提交本地当前代码 git add . // 显示工作目录和暂存区的状态 git status git commit -m '2019-10-14 16:22' // 2.推送本地代码 git push // 3.本地新建一个分支qs,并切换到新建的分支qs,并且建立qs与远程分支origin/qs的跟踪关系。 // -b为 branch git checkout -b qs origin/qs // 查看一下是否切换为qs分支 git branch // 4.拉取内容 git pull // 5.切换回alan分支 git checkout alan // 6.将qs分支内容合并到alan分支 git merge qs 来源: https://www.cnblogs.com/miangao/p/11675910.html

20191014——Git的精简用法

雨燕双飞 提交于 2019-12-01 09:08:29
作为一名开发人员,提交代码那是家常便饭,那如何有效地利用Git进行提交代码呢?在这里介绍一些常用、必要的命令,几乎够工作中使用了。 (1)git pull 命令:拉取代码,这条命令没啥说的了,在提交代码之前必须要更新最新的代码库; (2)git stash命令:在git pull后可能会遇到代码冲突的问题,那如何处理比较好呢?首先,输入git stash命令,将自己修改过的代码暂存起来;然后,输入git pull命令更新一下代码;接着,输入git stash apply或者git stash pop命令,它会自动将远程代码和本地代码合并,在该命令后若还是出现代码冲突的话,那么先用git status命令,查看有哪些文件是冲突的,然后通过git diff命令查看冲突的地方,你可以通过vim命令直接修改,也可以通过文件编辑器进行修改,保存修改后的文件,用git add 命令将该文件添加至缓存区;最后输入git stash apply或者git stash pop命令,这样就可以顺利地解决远程代码和本地代码冲突的问题了; (3)git commit --amend命令:该命令是在上一次最近的git commit的基础重新提交,不过需要注意的是不能运行git pull命令进行更新代码哦,这个命令很有用,在CI中若是需要对某个文件修改多次的话,那么该命令就派上用场了

手把手教你搭建自己的个人博客(图文教程)

若如初见. 提交于 2019-12-01 08:21:42
「 建立自己的狗窝 」 上篇文章刚写了一篇平时写博客的重要性,下面我回复说:【 过两天我在发一篇 如何建立自己的个人博客教程,有兴趣的点赞吧】得到了不少赞,看了还是很多小盆友想建立一个属于自己的博客网站,毕竟 金窝银窝不如自己的狗窝 嘛 ~~emmm 那么今天北妈兑现承诺,就先来一篇 技术程度中等,但面向基础的,讲解超详细的搭建教程,是基于nodejs前端服务 +git管理的方式,超流行超好玩的嗯。跟着教程做,和你平时开发自己公司程序一样简单,一会就搭建完了,下面来吧,别皮了! 「 个人博客的重要性 」 首先我们谈一谈搭建个人博客必要性,个人认为在学习过程中,被动接受知识对你的提高是轻微的。比如你看网课学习,在听老师讲解的时候感觉简单易懂,代码逻辑明了清晰,当自己敲代码的时候,却无从下手,这也属于眼高手低的范畴。 当自己主动学习,主动思考其效率和对个人的提升无疑是高于被动接受的。然而使你提高最大的是主动说出自己认知,把自己的知识和理解传达给他人,这种方式是对你提升无疑是最显著的。 可见搭建个人博客是非常有必要的,很多读者很早就要求我发一篇搭建个人博客的文章,由于个人时间愿意本来想直接转载,但是在自己实际操作中遇到很多坑,浪费不少时间,都是把主要步骤给出且时间久远,没有详细的图文配合。 应读者的要求,小编邀请了自己的朋友完成了这一篇教程,本教程作者为「illgo」