git的使用以及常用命令场景

anle123 anle123     2022-12-07     520

关键词:

# Git简介

## Git是什么?

Git(读音为/g?t/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 

Git 是 [Linus Torvalds](https://baike.baidu.com/item/Linus Torvalds/9336769) 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git是目前世界上最先进的分布式版本控制系统。

![git](./assets/git.jpeg)



#### 优点:

适合[分布式开发](https://baike.baidu.com/item/分布式开发),强调个体。

公共服务器压力和数据量都不会太大。

速度快、灵活。

任意两个开发者之间可以很容易的解决冲突。

离线工作。

#### 缺点:

资料少(起码中文资料很少)。

学习周期相对而言比较长。

不符合常规思维。

代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
 
# 常用Git命令

## 分支操作:

#### git clone

git clone 代码库的url

将线上库克隆到本地

#### git add

将工作区的修改提交到暂存区

#### git commit

将暂存区的文件或目录提交到版本库区

#### git push

将提交到本地库中的内容推送到远程库中

#### git pull

拉取远程分支代码

#### git branch 分支名

创建本地分支

#### git branch 

查看所有分支

#### git checkout -b 分支名

创建本地分支并切换到分支

#### git checkout 分支名

切换分支

#### git checkout -d 分支名

删除分支

#### git merge 分支名

在当前分支合并XX分支



## 版本管理:

#### git status

查看状态 

#### git add 文件/文件夹 

添加到暂存区

#### git checkout --文件名

放弃修改操作

#### git commit "备注信息"

添加到本地分支

#### git log

查看历史版本(想看简洁版的带上参数,--pretty=online)

#### git reset 版本号

回退历史版本 

#### git reflog

查看历史操作

#### git diff 文件名

查看文件的修改
# Git运用场景

#### 场景一:

?       当你正在写代码的时候突然线上服务器出现了个bug,这时候你不得不赶快处理线上的bug。一般我们会将正在写的代码,git add, git commit 一下,再切换到bug分支解决bug。解决完成以后git commit bug分支的代码。在切换回来。除了这样的操作,我们还有一种可选方案:

  1.正在写东西,突然有bug需要解决。

      git stash    #将当前的代码放在一个新的临时区/暂存区。以免带入其他分支。

      git checkout bug    #切换到bug分支

      vim views.py      #修改代码,解决bug

      git add views.py    #添加修改内容到暂存区

      git commit "change_bug"  #提交代码到本地仓库

      git checkout master   #切换都master分支

      git merge bug      #将bug分支的修改后的代码合并到master上

      git push origin master  #将本地master分支的代码推到远程

      git checkout dev    #切换到修改代码前的分支(原来的代码在dev分支上写的)

      git status        #查看dev分支的状态,发现原来对代码的修改没有了(写了半天,没有保存,心里很慌有没有啊。。。)

      more readme       #查看更久远的操作,发现依然没有。(这是真的有点慌,甚至有点小绝望啊)   

      git stash list        #查看临时保存的文件列表(我擦,找到了,过山车般的体验)

      git stash apply      #恢复到上次保存的位置(终于找到你,还好我没放弃)

      git status        #查看状态,发现一切和好如初(这个世界完美了。可以继续愉快的写代码了)

    git stash的一些其他操作:

      git stash drop    #删除最久的那个使用了git stash 保存的临时状态

      git stash apply stash@0    #恢复到指定的那个临时状态

      git stash pop    #恢复并删除上一个临时状态

      (ps: 1.git stash apply 恢复后,stash内容并不会删除,需要使用git stash drop 来删除

         2.另一种方式是使用git stash pop, 删除的同时把stash的内容也删除了)





#### 场景二:

  多人合作开发,最后把所有人的代码合并到一起,然后测试并推到master中:

      git add *  git commit "success"      #将完成的代码添加到本地仓库,等待合并

      checkout maste    #切换到本地master分支

      git pull        #将远程master分支的代码下载到本地

      git merge dev     #将本地dev中开发的代码合并到master中(这时候发现有冲突。自己的代码和master里最新的代码有不一致的地方,不要慌,我和别人同时修改了原文代码导致的这种问题。下面需要进行手动合并。)

      git status        #查看文件状态,看都有哪些文件有冲突

      git diff views.py    #查看文件冲突的具体情况

      vim views.py      #手动修改文件

      git add views.py  git commit "change_merge"  #添加到本地仓库

      git push origin master    #推送到远程master分支

git常用命令

  本文主要是列举一些Git常用命令以及常见应用场景,以备不时之需。  再此之前,我们先看一些Git基本概念。概念工作区(WorkingDirectory)  工作区就是你的工作目录,你平时存放项目代码的地方。暂存区(index或者stage... 查看详情

常用git命令以及处理技巧(代码片段)

...某一个文件gitadd"src/xxx.js"#添加所有文件,严禁使用`gitadd.`这样的命令!这完全是不同的含义!gitadd-A#暂存——通过vim编辑器gi 查看详情

git---基本操作以及git特殊命令,公司常用命令

...包下载地址:http://msysgit.github.io/完成安装之后,就可以使用命令行的git工具(已经自带了ssh客户端)了,另外还有一个图形界面的Git项目管理工具。在开始菜单里找到"Git"->"GitBash",会弹出Git命令窗口,你可以在该窗口进行Git... 查看详情

gitgit使用-各种常用场景命令解决

(多看git中的各种帮助-h/--help,可能有你想要的命令)1、分支的创建和切换 创建>>>>gitbranchbranchName 切换分支>>>>gitcheckoutbranchName 创建并切换到新分支>>>>gitcheckout-bbranchName 删除分支> 查看详情

git常用命令(代码片段)

...件内容以及版本记录同时保存在远程,则需要结合GitHub来使用。使用场景:无GitHub:在本地.git文件夹内维护历时文件有GitHub:在本地.git文件夹内维护历时文件,同时也将历时文件托管在远程仓库 二、单机模式Git把管理的文... 查看详情

git常用命令

...储的方式以及代码推送拉取的模式,下面主要总结下git的使用和常用命令。git下载地址:https://git-scm.com/download安装完成后,在git安装目录下打开"Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 接下来设... 查看详情

git常用命令及场景(代码片段)

Git命令推送到远程分支1、登录GitHub创建一个远程仓库。  https://github.com              2、gitinit  本地创建一个目录,并初始化一个git仓库。3、gitadd  添加文件到当前目录下,然后执行gitadd,将“修改&... 查看详情

git常用命令表

...理的项目中常见的场景及其对应的命令,方便自己和他人使用的时候快速查询。如有不对,敬请指正。查看某个git命令的帮助文档githelp[command]查看各个文件的状态gitstatusclone一个仓库gitclone[url]初始化一个仓库gitinit将文件放到暂... 查看详情

git以及vim常见命令整理

参考技术A除了以上列出的常用的命令外,下面着重结合场景来说明一下gitrebase命令同个功能因一些原因打断开发,且并没有开发完成,此时可能会先提交一个备份的commit,为了提交简洁,需要将备份的提交合并到一起。此时就... 查看详情

git开发流程以及常用命令

git正确开发流程1.gitcloneurl从某个url克隆代码到本地2.gitcheckout-btest创建一个新的分支来进行操作,防止影响主分支3.在本地进行代码修改4.gitaddfile_name将修改后的文件添加到工作区5.gitcommit-mmessage将工作区的内容提交到版本库6.gitst... 查看详情

实用盘点那些开发中最常用的git命令

...阅专栏哦文章目录前言本地项目推送到Gitee、Github、Gitlab使用该命令常遇到的问题创建本地分支并推送到远端删除分支打标签存储/更改缓存查看当前相同同步的远程库列表写在最后前言  Git作为目前世界上最先进的分布式版本... 查看详情

实用盘点那些开发中最常用的git命令

...阅专栏哦文章目录前言本地项目推送到Gitee、Github、Gitlab使用该命令常遇到的问题创建本地分支并推送到远端删除分支打标签存储/更改缓存查看当前相同同步的远程库列表写在最后前言  Git作为目前世界上最先进的分布式版本... 查看详情

实用盘点那些开发中最常用的git命令

...阅专栏哦文章目录前言本地项目推送到Gitee、Github、Gitlab使用该命令常遇到的问题创建本地分支并推送到远端删除分支打标签存储/更改缓存查看当前相同同步的远程库列表写在最后前言  Git作为目前世界上最先进的分布式版本... 查看详情

c1认证学习十一(常用网络命令以及端口)

...f08;常用网络命令以及端口)任务背景工程师们天天在使用计算机做软件开发,有时候出了问题需要来确定到底是自己的问题,还是网络的问题,所以需要学习并且了解一些常见的计算机的命令以及开发中常用的端... 查看详情

c1认证学习十一(常用网络命令以及端口)

...f08;常用网络命令以及端口)任务背景工程师们天天在使用计算机做软件开发,有时候出了问题需要来确定到底是自己的问题,还是网络的问题,所以需要学习并且了解一些常见的计算机的命令以及开发中常用的端... 查看详情

git工作原理以及常用命令操作(代码片段)

 GIT工作原理  要了解GIT工作原理,先了解GIT的这几块区域:工作区域划分    工作区:指的是本地工作空间,如果刚拉取下来的代码,没有修改的内容,这块区域是空白的(modified-已修改状态)  ... 查看详情

git常用命令总结git常用命令总结(代码片段)

...obaluser.name"YourName"$gitconfig--globaluser.email"[email protected]"使用--global修饰后设置的全局的用户,如果设置单个项目的用户,可cd到项目根目录下,执行如下命令:$gitconfiguser.name"YourName"$gitconfiguser.email"[email protected]"使用命令:gitconfig--... 查看详情

git常用命令以及如何与fork别人的仓库保持同步

简单常用命令1、gitstatus查看当前仓库是否有文件改动a:提示Yourbranchisup-to-datewith‘origin/master‘.nothingtocommit,workingdirectoryclean时候是没有改动b:提示有红色就是有改动,可以提交2、gitadd.add.代表添加所有文件到本地仓库3、gitcommit-m... 查看详情