Git常用知识

git基础

建仓

git init		//去本地项目目录中建仓
git clone <url>		//复制远程的项目到本地目录中

文件状态

文件的状态
上图把项目文件状态分为:未跟踪和已跟踪;已跟踪的文件有三种情况:未修改、已修改、放入暂存区
查看当前文件状态:

git status

跟踪文件(未跟踪–>已跟踪)
放入暂存区(修改–>暂存区):

git add <filename>

取消暂存(修改<–暂存区):

git reset <filename>

忽略文件:
创建一个.gitignore文件,用通配符去设置需要忽略的文件。详见https://github.com/github/gitignore

查看未暂存的文件对已暂存文件的修改:

git diff

提交跟新:

git commit	-a(把跟踪文件全提交,不论是否暂存)

移除文件(移除版本管理):

git rm <filename>

移动文件(改名)

git mv <file_from> <file_to>
等同于
mv <file_from> <file_to>
git rm <file_from> 
git add <file_to>

查看提交历史:

git log

选项 说明
-p 按补丁格式显示每个提交引入的差异。
–stat 显示每次提交的文件修改统计信息。
–shortstat 只显示 --stat 中最后的行数修改添加移除统计。
–name-only 仅在提交信息后显示已修改的文件清单。
–name-status 显示新增、修改、删除的文件清单。
–abbrev-commit 仅显示 SHA-1 校验和所有 40 个字符中的前几个字符。
–relative-date 使用较短的相对时间而不是完整格式显示日期(比如“2 weeks ago”)。
–graph 在日志旁以 ASCII 图形显示分支与合并历史。
–pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline、short、full、fuller 和
format(用来定义自己的格式)。
–oneline --pretty=oneline --abbrev-commit 合用的简写。

撤销:
覆盖上一次提交:

 git commit --amend

取消暂存的文件(add)

git reset HEAD <filename>

撤销对文件修改(modified)

git checkout --<filename>

远程仓库

查看

git remote 

查看具体的仓库

git remote show <remote(远程仓库名)>

添加

git remote add <shortname> <url>

从远程仓库抓取

git fetch <remote>	(remote默认是origin)

推送到远程仓库

git push <remote> <branch>

重命名

git remote rename <oldname> <newname>

删除

git remote remove <remote>

分支

创建

git branch <branchname>

切换

git checkout <branchname>

新建和切换

git checkout -b <branchname>

合并到本分支上

git merge <frombranch>

删除

git branch -d <branchname>

远程分支:
查看

git remote show <remote>

推送

git push <remote> <branch>

跟踪

git checkout -b <branch> <remote>/<branch>

删除

git push <remote> --delete <branch>

拉取

git pull 
等同于
git fetch
git merge

变基

git rebase <tobranch>

版本间移动

版本回退(之前)

git log(查询版本号xxx)
git reset --hard xxx
git reset --soft xxx
git reset --mixed xxx

版本还原(之后)

git reflog(查询版本号xxx)
git reset --hard xxx
git reset --soft xxx
git reset --mixed xxx

参数区别:
soft:仅仅将头指针位置改变,工作区和暂存区(已add内容)不变
mixed(default):头指针和暂存区恢复,工作区内容不变
hard:全都变了

配置等其他相关

.gitconfig配置文件中修改(/etc/gitconfig或者:~.gitconfig)
别名(图形化分支)
记住密码

[alias]
        logg = log --graph --decorate --oneline --simplify-by-decoration --all
[credential]
        helper = store
这几年越来越多的开发团队使用了Git,掌握Git的使用已经越来越重要,已经是一个开发者必备的一项技能;但很多人在刚开始学习Git的时候会遇到很多疑问,比如之前使用过SVN的开发者想不通Git提交代码为什么需要先commit然后再去push,而不是一条命令一次性搞定; 更多的开发者对Git已经入门,不过在遇到一些代码冲突、需要恢复Git代码时候就不知所措,这个时候哪些对 Git掌握得比较好的少数人,就像团队中的神一样,在队友遇到 Git 相关的问题的时候用各种流利的操作来帮助队友于水火。 我去年刚加入新团队,发现一些同事对Git的常规操作没太大问题,但对Git的理解还是比较生疏,比如说分支和分支之间的关联关系、合并代码时候的冲突解决、提交代码前未拉取新代码导致冲突问题的处理等,我在协助处理这些问题的时候也记录各种问题的解决办法,希望整理后通过教程帮助到更多对Git操作进阶的开发者。 本期教程学习方法分为“掌握基础——稳步进阶——熟悉协作”三个层次。从掌握基础的 Git的推送和拉取开始,以案例进行演示,分析每一个步骤的操作方式和原理,从理解Git 工具的操作到学会代码存储结构、演示不同场景下Git遇到问题的不同处理方案。循序渐进让同学们掌握Git工具在团队协作中的整体协作流程。 在教程中会通过大量案例进行分析,案例会模拟在工作中遇到的问题,从最基础的代码提交和拉取、代码冲突解决、代码仓库的数据维护、Git服务端搭建等。为了让同学们容易理解,对Git简单易懂,文章中详细记录了详细的操作步骤,提供大量演示截图和解析。在教程的最后部分,会从提升团队整体效率的角度对Git工具进行讲解,包括规范操作、Gitlab的搭建、钩子事件的应用等。 为了让同学们可以利用碎片化时间来灵活学习,在教程文章中大程度降低了上下文的依赖,让大家可以在工作之余进行学习与实战,并同时掌握里面涉及的Git不常见操作的相关知识,理解Git工具在工作遇到的问题解决思路和方法,相信一定会对大家的前端技能进阶大有帮助。
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页