服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - 编程技术 - Git命令的简单整理大全

Git命令的简单整理大全

2020-08-19 14:40Colin_狂奔的蚂蚁 编程技术

这篇文章主要给大家介绍了关于Git命令的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

前言

自动帮助记录每次文件的改动,同时协作永工作

学习git命令是充分必要的

集中式和分布式

分布式每个人电脑都是一个完整的版本库,也有类似中央服务器的电脑,但是这个服务器只是用来交互打架的修改没有它大家也一样干活,只是交互修改不方便而已

安装只要安装了xcode就可以了

仓库:里面文件修改,删除,添加都能被git追踪,认识时刻都能追踪历史或者将来某哥时刻还原只能追踪文本文件的改动

创建目录和查看路径

mkdir 创建目录  
cd    进入到目录里面
pwd   用于显示当前的目录
cat   查看文件内容

Git命令使用说明

初始化一个目录成git的仓库(版本库)包括暂存区和master分支
git init查看当前目录的文件包括隐藏文件
ls -ah获取git命令的手册页
git help使用git前需要进行一些全局的配置

> 1、用户目录下的配置,当前登陆用户所有的仓库调用这个配置 ~/.gitconfig

> 2、项目目录的配置,优先级高,覆盖全局配置配置用户名和邮箱

?
1
2
3
git config --global user.name "wirelessqa"
git config --global user.email wirelessqa.me@gmail.com
git config --global color.ui true 让Git显示颜色,会让命令输出看起来更醒目

.gitignore 配置 不纳入git管理 主要是系统文件,编译文件,自定义的文件 ,这个文件也用推送到远程库

https://github.com/github/gitignore ,创建 touch 命令

配置编辑器 git在需要输入一些消息

?
1
git config --global core.editor emacs

配置比较工具

?
1
git config --global merge.tool vimdiff

读取配置(同一个配置选项会出现多次,以最后一次为准)

?
1
git config --list

提交文件之前

先查看当前的状态 ,能提示你接下来怎么做的命令,比如修改工作区文件内容,提示你添加到暂存区或者丢弃工作区修改的命令

?
1
git status

查看文件到底修改了什么

?
1
git diff

提交修改

纳入git仓库管理,把修改添加到暂存区(使用.代表将所有的修改进行添加)

?
1
git add .

把暂存区里面的所有修改提交到当前分支同时创建一个快照

?
1
git commit -m ""

如果确认当前所有变更都是同一个commit,可以直接加-a,就不必一个一个add了

?
1
git commit -a -m ""

工作区和版本库里最新版本的区别

?
1
git diff HEAD -- readme.txt

查看提交历史

?
1
git log --pretty=oneline

撤销修改

?
1
git checkout -- readme.txt

> 1、修改后还没添加到暂存区 ,撤销修改回到最近一次commit的状态,也就是和版本库里面的状态一样

> 2、修改后被添加到暂存区了,又做了修改 ,撤销修改就回到添加到暂存区后的状态,也就是跟暂存区里面的状态保持一致

> 3、用版本库里的版本替换工作去的版本,无论工作区是修改还是删除

可以把暂存区的修改撤销掉

?
1
git reset HEAD file

提交文件删除修改到暂存区

?
1
git rm test.txt

版本回退

git的版本回退知识改了head 指针,顺便把工作区的文件更新掉了

?
1
2
3
git reset --hard HEAD^
git reset --hard 3628164

查看命令历史

可以看到reset和commit等命令历史,可以利用这个命令查看最近一次

?
1
commitidgit reflog

工作区和暂存区

工作区:电脑上能看到的目录 ,里面有个.git 隐藏目录这个不算工作区,是git的版本库版本库里面包含了暂存区stage和git为我们自动创建第一个分支

远程库管理

查看远程库信息

?
1
git remote -v

修改远程仓库地址(在已经add了远程仓库地址,使用它进行修改地址)

?
1
git remote set-url origin https://github.com/USERNAME/OTHERREPOSITORY.git

关联远程库(添加远程仓库地址)

?
1
git remote add origin git@github.com:linhbcode/first-test.git

本地的master分支推送到远程的master分支上,原则就是master分支要与远程同步 ,dev 分支开发分支,也需要远程同步

?
1
git push origin master

master分支推送到远程的master分支,本地master 分支和远程master分支建立关联

?
1
git push -u origin master

Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是

?
1
origingit clone git@github.com:linhbcode/first-test.git

git pull 如果提示冲突解决冲突 抓去信息碰到没有链接的 有两种方式解决

> 1、git branch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联

> 2、git pull origin branchname

分支管理

1、不完整的代码在其它分支上提交

2、每个提交都在一个时间线上的节点上,分支相当于指向一个节点的指针

head 本质上是指向分支的指针

创建并切换分支

?
1
git checkout -b dev

本地分支创建和远程分支相同的分支,主要是仓库从远程clone过来的(一般要先git fetch,再git checkout -b branch-name origin/branch-name)

?
1
git checkout -b branch-name origin/branch-name

创建分支

?
1
git branch dev

切换分支 , 如果当前的工作只完成一半,还没发提交的话

?
1
git checkout dev

可以用 git stash 保存工作现场 ,在用它之前可以 git stash list 查看有几个暂存的列表

查看有几个暂存的列表

?
1
git stash list

保存工作现场

?
1
git stash

恢复 工作现场

?
1
git stash apply

来删除 工作现场

?
1
git stash drop

查看当前分支

?
1
git branch

查看远程分支

?
1
git branch -r

合并分支

?
1
git merge dev

删除分支

?
1
git branch -d dev

强行删除分支

?
1
git branch -D dev

(删除远程分支)冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。

?
1
git push origin :branch-name

提交本地test分支作为远程的master分支

?
1
git push origin test:master

提交本地test分支作为远程的test分支

?
1
git push origin test:test

刚提交到远程的test将被删除,但是本地还会保存的,不用担心

?
1
git push origin :test

查看分支合并图

?
1
git log --graph

查看提交历史

?
1
git log --pretty=oneline --abbrev-commit

合并分支

?
1
git merge branchname

合并分支的时候不采用ff模式(分支删除了还能看的到分支历史信息)

?
1
git merge --no-ff -m "merged bug fix 101" issue-101

标签管理

描述开发历程,在发布一个版本的时候打一个标签

查看所有的标签

?
1
git tag

对莫一个提交历史打一个标签

?
1
git tag v1.0 [commit id

查看标签信息

?
1
git show [tagname]

正式开发下最好用这条语句标注下这个标签的描述

?
1
git tag -a v0.1 -m "version 0.1 released" 3628164

删除标签

?
1
git tag -d v0.1

推送标签

?
1
git push origin v1.0

推送全部标签

?
1
git push origin --tags

远程删除标签(先从本地删除标签)

?
1
git push origin :refs/tags/v0.9

结语

目前就整理了些常用的命令,足够对付平常的工作了,如果大家还想读读Git原理的话,建议看看原文地址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845513aefd77a99f4145f0a2c7a7ca057e7570000,里面讲的特别全。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:https://www.jianshu.com/p/f7ec8310ccd2

延伸 · 阅读

精彩推荐
  • 编程技术用户态 Tcpdump 如何实现抓到内核网络包的?

    用户态 Tcpdump 如何实现抓到内核网络包的?

    在网络包的发送和接收过程中,绝大部分的工作都是在内核态完成的。那么问题来了,我们常用的运行在用户态的程序 tcpdump 是那如何实现抓到内核态的包...

    开发内功修炼11612021-09-08
  • 编程技术2021年值得关注的React PDF 库

    2021年值得关注的React PDF 库

    今天,许多网络应用程序为其用户提供内置的PDF浏览选项。然而,选择一个并不容易,因为它们的功能远远超过显示PDF。在这篇文章中,我将评估5个React的...

    TianTianUp5222021-06-21
  • 编程技术从Context源码实现谈React性能优化

    从Context源码实现谈React性能优化

    这篇文章主要介绍Context的实现原理,源码层面掌握React组件的render时机,从而写出高性能的React组件,源码层面了解shouldComponentUpdate、React.memo、PureComponen...

    魔术师卡颂5312020-12-20
  • 编程技术让开发效率倍增的 VS Code 插件

    让开发效率倍增的 VS Code 插件

    今天来分享一些提升开发效率的实用 VS Code 插件!Better Comments 扩展可以帮助我们在代码中创建更人性化的注释,有不同形式和颜色的注释供我们选择。 ...

    前端充电宝7132022-04-21
  • 编程技术Delphi - Indy idMessage和idSMTP实现邮件的发送

    Delphi - Indy idMessage和idSMTP实现邮件的发送

    这篇文章主要介绍了Delphi - Indy idMessage和idSMTP实现邮件的发送,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    JJ_JeremyWu6592020-09-22
  • 编程技术AIOps,SRE工程师手中的利器

    AIOps,SRE工程师手中的利器

    AIOps开始成为一种极为重要的站点可靠性工程工具。它能够高效吸纳观察数据、参与数据以及来自第三方工具的数据,判断系统运行状态并保证其处于最佳...

    至顶网5962021-03-08
  • 编程技术简单、好懂的Svelte实现原理

    简单、好懂的Svelte实现原理

    本文会围绕一张流程图和两个Demo讲解,正确的食用方式是用电脑打开本文,跟着流程图、Demo一边看、一边敲、一边学...

    魔术师卡颂4822021-11-10
  • 编程技术真正聪明的程序员,总有办法不加班

    真正聪明的程序员,总有办法不加班

    工作效率提升了,就可以少加班了,聪明的程序员,总会有一堆可以提升编码效率的工具?当一种工具满足不了工作需求,就去探索新的,今天纬小创就给...

    今日头条12482021-03-04