git的日常使用以及相关

      还没实习之前自己学习过git相关内容,但也是仅仅限制在自己创建自己玩一玩罢了, 直到前段时间实习,才真正的使用git的相关内容。 git 的安装和历史等等就不说了, 记录下自己常用的指令和相关知识。

                                                                                                                                                                       git 是用 C语言编写的

一、 Git 的常用命令:

git init      命令把当前目录变成Git可以管理的仓库
git add       添加文件(到暂存区)
git add -A    添加修改过的文件
git commit -m "说明"     告诉Git,把文件提交到仓库,  -m  "文字说明";
对新的GitHub项目处理添加更新内容等:  git remote add origin https://自己的仓库url地址 
git remote -v  查看远程库的信息
git pull       拉取远程分支内容
git push -u origin master    推送内容到远程库上
git branch <name>    创建分支
git checkout <name>    切换分支
git branch     查看分支
git checkout -b test    创建test分支,并切换
git merge      合并分支
git branch -d <name>    删除分支
git log        查看历史记录
git reset      回退到上一个版本
git status     查看状态
git rm         删除文件
所删除的文件一般是不能恢复的,
rm -f, f 参数(f---force)忽略不存在的文件,不显示任何信息; 不会提示确认信息
rm 删除文件、文件夹 
-r Recurve的首字母,递归的意思,删除此文件夹下所有文件 
-f不提醒,直接删除 
-i交互删除,会提醒 
rm 命令删除一个目录中的一个或者多个文件或者目录,只用rm命令不会
删除目录,通常文件通常可以恢复。
友情提示:一般的删除操作用rm 即可 。

另一些我暂时用的比较少的命令:

git diff   查看文件具体修改了啥
要随时掌握工作区的状态,使用git status命令。
如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

git log   命令显示从最近到最远的提交日志
git log --pretty=oneline   特定显示提交的说明

git reset --hard HEAD^   	回退到上一个版本,  
git reset --hard cmmit_id  	回到未来的某个个版本
git log 	 可以查看提交历史,以便确定要回退到哪个版本;
git reflog    查看命令历史 ,以便确定要回到未来的哪一个版本
git stash list    查看工作现场存储地方

二、 多人开发合作

     一般一个主分支master受保护的, 开发一般在develop分支上面开发, 在根据不同的功能延伸出不同的功能分支,就是feature分支, 在feature分支开发完后于develop分支合并, 还有bug分支, 版本上线后的处理分支等,具体介绍在git glow。

    在同个feature分支上, 多人协作的工作模式: 1、 先试用git push origin <branc-name> 推送自己的修改代码, 如果推送失败,则是远程分支比你的本地分支在前头,需要先git pull合并一下先;  

2、 如果合并失败,则有冲突。先解决冲突,并在本地提交然后再进行git push 操作

3、 如果git pull 拉取的时候发现出现 no tracking information 则说明本地分支和远程分支的链接关系没有创建。用命令

git branch --set-upstream-to <branch-name> origin/<branch-name>。

 

在实习的时候,学习到的git flow 知识,然后记录一下~

三、 git flow

git flow 的常用分支:

1.   master    主分支...            2.   develop   主开发分支... 

3.   feature    功能分支...        4.   release    测试分支....

5.   hotfix      补丁分支....       

网上的一张图: 

 

特点:  1.两个长期分支 master  和 develop

             2.三个短期分支: feature、release、hotfix

优点:   各个功能分支(feature)之间代码相隔离,可以进行独立的开发、测试等;

缺点:   分支开发时间较长的时候, 开发成本较高, 分支较多的时候,合并代码容易产生冲突

应用场景:   1. 需要支持多个版本的软件并且相互独立;   2.  多版本独立, 同时后续各版本开发

 

 

github 工作流 :

特点:  1. 只有一个master分支作为长期分支

             2.  新建的分支名称需要体现此分支的作用

优点是: 规则简单;    缺点是:   master合并后如果不发布, 会造成线上和master不一致

应用的场景:   1.  需要立即部署的项目;    2.  适合小型项目, 开发人员少的项目。

 

gitlab  flow

特点:  master 作为主分支, 有pre-production 预生产分支和production 生成分支、

缺点:  1. 相对于GitHub flow来说, gitlab flow更复杂;  2.当要维护较多的版本的时候,会变得想git flow比较复杂

应用场景:   需要进行预发布的项目

 

推荐一个学习git 的网址:         https://www.liaoxuefeng.com/wiki/896043488029600

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值