Git版本库规范
不要提交垃圾文件。
- 包括临时文件,编译产生的二进制文件,个人设置文件,与项目无关的文件等等。
- 使用.gitignore文件来告诉git哪些文件应该忽略掉。
不要提交不能编译运行的代码到master分支。
- 平时创建临时分支来工作,可以随时提交,当告一段落之后再合并到master分支。
- 保证master分支的代码是可运行的,不影响其他团队成员。
善用本地分支。
- 特性分支:可以每开始一个新功能或bugfix时就创建一个新分支,改完后合并到master。比如:newidea/issue90
- 每个新版本也要用一个新分支,这样如果需要改老版本的bug,那么可以很轻松地切换到老分支,改完后再切回新分支。
- 长期分支:大型项目中,用分支管理不同层次的稳定性,master/develop;
- 特性分支:;
远程分支
- 推送本地分支,与他人共同开发,比如多人协同中需要用到的特性分支。eg: git push origin feature_xxx;
git checkout -b git_doc;#创建本地分支
git push origin git_doc;#分享到远程仓库
git fetch origin;#获取远程仓库的所有信息
git checkout -t origin/git_doc;# 其他开发人员基于origin/git_doc创建本地分支
;为本地分支建立远程跟踪
git branch --set-upstream git_doc origin/git_doc;# make an existing local branch to track a remote branch
git pull;获取远程仓库的信息,并自动合并
git checkout master;合并分支到主干
git merge origin/git_doc
git push origin master
git push origin :git_doc;# 删除远程分支
git branch -d git_doc;# 删除本地分支
多提交,及时提交。
- 每当改动达到可以用一句话描述的时候,就提交。
给每个准备提交上线的版本打tag。
- 命名成v1.0.0_rc1这种格式,第一次提交就是rc1,第二次提交就是rc2等等。
写清楚提交注释。
- 写明做了哪些修改,不要用笼统的一句话例如“改bug”,而是要写具体的说明例如,“按钮文字从转发改成分享”。
Ubuntu下配置gitlab
-
创建ssh key
ssh-keygen -t rsa -C "xxx" -
添加帐号
ssh-add ~/.ssh/id_rsa -
向gitlab添加key
复制 ~/.ssh/id_rsa.pub 的内容 到:http://xxx.com/keys -
获取kelude代码
git clone git@xxx.com.xxx.git
Git常用命令
纳入版本控制
- git status // 查看改动点
- git diff
- git add *.txt //添加所有txt文件
- git add README //添加单个文件
- git add . //添加所有文件包括子目录,但不包括空目录
- git add -f xxfile //强制添加一个文件,忽略掉.gitignore中的配置
提交代码(本地仓库)
- git commit -m “initial project version”
- git commit -m “something” someFile //提交指定文件
- git commit -C HEAD -a --amend //复用HEAD留言,增补提交(修改小错误,而不增加提交记录,掩盖自己的小马虎)
推送到远程仓库
- git pull origin master //把远程仓库的master分支 合并到当前分支
- git push origin master //推送到远程仓库的master分支
放弃本地的修改
-
放弃未一个 没有添加到 版本控制的文件修改
git checkout -- file/path -
放弃添加到版本控制
git reset --hard file -
从仓库中删除文件
git rm -r file/path -
放弃所有未提交的修改
git reset --hard HEAD -
放弃最近x次的commit
git reset --hard HEAD~1 //放弃最近一次的commit
git reset --hard HEAD~2 //放弃最近两次的commit
解决合并冲突
-
备份需要保留的本地文件
-
丢弃本地所有修改 及 提交记录(与下面的命令配合使用)
git fetch origin // 获取远程仓库的所有分支、所有信息
git reset --hard origin/master // 重置为 origin master -
把备份的文件合并回来
-
提交修改
远程分支
-
推送本地分支,与他人共同开发,比如多人协同中需要用到的特性分支
比如: git push origin feature_xxx;
git branch //查看当前分支
git checkout -b git_doc;#创建本地分支
git push origin git_doc;#分享到远程仓库
git checkout -t origin/git_doc;# 其他开发人员 获取origin/git_doc 分支,并创建本地分支
git pull origin git_doc;#合并远程仓库的git_doc分支 到本地开发分支 -
合并git_doc分支到master分支
git checkout master;切换到master分支
git fetch origin // 获取远程仓库的所有分支、所有信息
git merge origin/git_doc;# 合并git_doc到master
或者
git pull origin git_doc;# 合并远程仓库的git_doc到当前分支
最后
git push origin master;# 推送到远程仓库master -
不再需要的分支 应该删除
git branch -d git_doc;# 删除本地分支
git push origin :git_doc;# 删除远程分支
推送数据(中央仓库)
- git push [remote-name] [branch-name] //默认为 git push origin master
- git push origin master //推送到远程仓库的 master分支
- git push origin :branch_name //这个语法用于删除,只要把分号前留空
问责:谁修改了代码
- git blame hello.html //你也可以用"-L"参数在命令(blame)中指定开始和结束行:
- git blame -L 12,+10 hello.html //12到22行
归档版本库,导出压缩包
命令格式:git archive --format=格式 --prefix=目录/ 版本>压缩包.zip
* git archive --format=zip head>test.zip
* git archive --format=tar --prefix=mysite-1.0/ 1.0 | gzip>mysite-1.0.tar.gz
* git archive --format=zip --prefix=mysite-1.0/ 1.0 >mysie-1.0.zip
Git References
sparsecheckout
only used in git 1.7.0+
- git config core.sparsecheckout true //enable sparse checkout
- echo some/dir/ >> .git/info/sparse-checkout //add any number directories
- git read-tree -m -u HEAD //read subdirectory
相关推荐
1 7 小结 2 Git 基础 2 1 取得项目的 Git 仓库 2 2 记录每次更新到仓库 2 3 查看提交历史 2 4 撤消操作 2 5 远程仓库的使用 2 6 打标签 2 7 技巧和窍门 2 8 小结 3 Git 分支 3 1 何谓分支 3 2 分支的...
windows下面git快捷命令行小结
#### 六、小结 通过以上步骤,您应该已经了解如何安装Git,配置基本的用户信息,创建GitHub仓库,并实现本地项目的初始化、克隆、文件添加、提交以及推送。这些基本操作是使用Git的基础,也是进行项目管理和团队...
### Git教程(廖雪峰)小结汇总 #### Git简介 - **Git的诞生**:Git是由Linus Torvalds于2005年为了更好地管理Linux内核开发而创立的一种分布式版本控制系统。 - **集中式vs分布式**:与传统的集中式版本控制系统...
Git小结......
#### 四、小结 本文详细介绍了Git的基本概念、工作流程以及一系列常用命令的操作方法。通过掌握这些知识,你可以更加高效地管理和协作项目。无论是个人开发者还是团队合作,Git都是不可或缺的工具之一。希望这些...
git,git与IDEA,git与github,git与gitee相关操作小结
Git的使用小结涵盖了从初始化仓库开始,到提交更改、创建分支、分支管理以及远程仓库的同步等操作。掌握了这些基本知识点,能够有效地在本地和团队中使用Git进行版本控制和协作开发。在实际应用中,还需要进一步学习...
**1.7 小结** - 本章概述了版本控制的基本概念,并介绍了Git的基础知识,为后续章节的学习打下了坚实的基础。 #### 二、Git基础 **2.1 取得项目的Git仓库** - **从当前目录初始化**:使用`git init`命令在一个新的...
#### 五、小结 通过以上步骤,您可以快速掌握如何使用 Git for Windows 进行版本控制的基本操作。Git 的强大之处在于它不仅提供了一种高效的方式来追踪代码的变化,还能够帮助团队更好地协作。无论是个人项目还是...
**1.7 小结** 总结了起步阶段的核心知识点。 #### 二、Git基础篇 **2.1 取得项目的Git仓库** - **2.1.1 从当前目录初始化** 创建一个新的Git仓库,并将其初始化为本地版本库。 - **2.1.2 从现有仓库克隆** 从...
小结 使用 Git 命令将本地项目上传到 Git 仓库是一个简单的过程,只需要按照上述步骤执行相应的命令即可。但是,需要注意的是,在上传项目之前,需要了解 Git 的基本概念和常用命令,以便更好地管理项目的版本...
#### 四、小结 通过以上实验步骤,我们可以清楚地看到Git是如何追踪并管理修改的。Git的核心理念是关注于数据的变化而非单一文件,这样不仅能够更高效地处理版本控制,还能够让开发者更加灵活地管理项目的历史记录...
- **GitHub小结**:总结GitHub的功能和优势。 #### 分布式Git - **分布式工作流程**: - **集中式工作流**:所有的开发者都从中心仓库克隆并推送代码。 - **集成管理员工作流**:设立一个集成管理员来审查代码...
#### 五、小结 以上是日常使用 `git` 时常用的一些命令及其功能介绍。熟练掌握这些命令能够极大地提高代码管理效率。同时,结合实际项目需求灵活运用各种命令组合,可以更好地解决实际问题。希望这些整理对大家有所...
**1.7 小结** - Git是一种强大的版本控制系统,不仅支持高效的数据管理,还具有强大的协作功能。 #### 二、Git基础操作 **2.1 取得项目的Git仓库** - **从当前目录初始化**:使用`git init`命令。 - **从现有仓库...
**2.8 小结** - 本章介绍了Git的基本使用方法,包括初始化仓库、提交更新、查看历史记录以及远程仓库的使用等核心功能。 #### 三、Git分支 **3.1 何谓分支** - **分支概念**:Git中的分支实际上是简单的指针,...