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

mjoker0416 mjoker0416     2022-12-15     656

关键词:

 

GIT工作原理

    要了解GIT工作原理,先了解GIT的这几块区域:

工作区域划分   

   工作区:指的是本地工作空间,如果刚拉取下来的代码,没有修改的内容,这块区域是空白的 (modified-已修改状态)

   暂存区:将改动内容进行暂存 (staged-已暂存状态)

   HEAD:HEAD指针,当前指向的分支

   本地版本库:(commited-已提交状态)

   远程仓库:push操作后,将本地版本库推送到远程仓库

 技术图片

工作流程

  • 在工作区中修改文件。(modified)
  • 将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。(staged)
  • 提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。(commited)

开发最常用的五个命令

1、git clone projectUrl 拉取远程仓库代码到本地,projectUrl是一个具体的git仓库地址路径

2、git add 将工作区的修改的内容添加到暂存区 

3、git commit 将暂存区域的的内容提交到HEAD所在的分支

4、git pull  拉取远程分支内容到本地

5、git push 将HEAD分支内容推送到远程分支上面

 

GIT常用命令

查看文件的状态
git status    

技术图片

Changes not staged for commit; 

这段信息提示我有修改的信息没有提交到暂存区,建议使用git add 命令进行添加到暂存区域,或者使用git checkout 命令放弃工作区的修改

Untracked files:

表示这些文件是新建的,还没有纳入git的管理,建议使用git add 命令将这些文件纳入git管理

 

git status -s  // 查看状态,比较简短的信息展示

技术图片

红色M:表示有改动的文件,还没有添加到暂存区

绿色M:表示已添加到暂存区的文件

??:表示还没有纳入git管理的文件

A:表示刚纳入git管理的文件

U:表示有冲突的文件

 

git add .
git add Test.java

1、将未跟踪的文件纳入git的管理

2、将已纳入git管理的文件的改动添加到暂存区域

3、冲突解决后,标记冲突已经解决

技术图片

 

 

将远程仓库aaa 重命名为 bbb
git remote rename aaa bbb

移除远程仓库bbb
git remote remove bbb


查看某个远程仓库
git remote show origin

查看仓库的简写
git remote

查看仓库的简写以及对应的URL
git remote -v

查看本地和远程分支信息情况
git remote show origin

同步远程已经删除的分支
git remote prune origin

更新远程分支列表
git remote update origin -p


分支的命令

查看项目分叉历史图
gitk --all
git log --oneline --decorate --graph --all

增加develop分支
git checkout -b develop

删除远程develop分支
git push origin :develop

删除本地develop分支
git branch -D develop


合并分支
git merge 2.8.0-zd // 将2.8.0-zd分支合并到当前分支,这是基于本地分支进行操作,需要先 pull最新代码


tag的常用命令
创建本地tag
git tag -a 3.2.8-RELEASE -m ‘ 版本3.2.8-RELEASE‘

查看有哪些tag
git tag

要显示附注信息,我们需要用 show 指令来查看
git show 3.2.8-RELEASE

推送tag:3.2.8-RELEASE到远程代码库
git push origin 3.2.8-RELEASE


git push origin --tags

删除本地tag
git tag -d 3.2.8-RELEASE

删除远程tag
git push origin :refs/tags/3.2.8-RELEASE
git push origin --delete 3.2.8-RELEASE

拉取远程tag到本地
git fetch origin tag 3.2.8-RELEASE


检出3.2.8-RELEASE内容,仅限于查看
git checkout 3.2.8-RELEASE


6、commit的常用操作

修改已经提交的注释
git commit --amend

git commit -m "提交commit,并且编写注释"

查看已有的commit
git log

查找某个文件的commit变更历史
git log --pretty=oneline Test.java

显示最近一次commit的修改信息
git log -p -1

显示commit的文件修改统计信息。
git log --stat

查找注释信息包好test的commit的信息
git log --grep "test"

将ID为19ed20582a5fe0dc8a5da3bc1cb0a9c0ef663346 的commit合并到当前分支
git cherrry-pick 19ed20582a5fe0dc8a5da3bc1cb0a9c0ef663346

放弃本地commt
git reset --hard FETCH_HEAD

7、其他常用场景操作

记住用户名和密码:
git config --global credential.helper store
执行后,只要输入一次就行了

合并时忽略某文件
1、在项目跟目录下面新建文件.gitattributes
2、文件中添加 pom.xml merge=ours 配置
3、执行命令进行配置,git config merge.ours.driver true
执行完成以上步骤,merge的时候就不会把pom.xml的变更合并过来了

在develop分支拉取分支用来修复bug
git checkout develop // 切换到develop分支
git checkout -b bugfix // 基于develop分支拉取一个分支bugfix 并切换到该分支
git push -u origin bugfix //推送bugfix分支到远程服务器上面
然后发起请求合并,等待管理人员进行代码合并

基于tag:3.2.8-RELEASE拉取分支修复bug,然后发布3.2.9-RELEASE版本
git checkout 3.2.8-RELEASE
git checkout -b bugfix
git push -u origin bugfix
git tag -a 3.2.9-RELEASE -m ‘ 版本3.2.9-RELEASE‘
git push origin 3.2.9-RELEASE

develop分支需要上测试环境,基于develop分支打一个tag
git tag -a 3.2.8-RELEASE -m ‘ 版本3.2.8-RELEASE‘
git push origin 3.2.8-RELEASE


某些文件不想纳入git管理,新建.gitignore文件,添加以下内容

# 忽略所有的 .settings 文件
.settings/

# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO

# 忽略任何目录下名为 build 的文件夹
target/

# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt

# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf


初始项目推送到git仓库

git init // 创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件

git add . // 标识那些文件要放到git仓库进行追踪记录

git commit -m "first commit" //提交到暂存区域

git remote add origin http://proxy.clwj.sunline.cn:3000/xieqq/sssss.git //推送到远程git远程服务器上面

git push -u origin master 推送master分支到远程

git clone http://proxy.clwj.sunline.cn:3000/xieqq/sssss.git // 将git服务器上面的远程项目拉取下来。包含所有的分支和tag代码信息

 

git原理和常用命令速成(代码片段)

...令就万事大吉了。但是随着GIT使用的深入,如果不了解些原理就会遇到各种各样让人一脸懵逼的问题,所以还是要对GIT原理有一些基本了解,这里默认已经掌握常用的基本指令了。(随便搜教程看下就行,例如clonepullpushaddcommitlo... 查看详情

git之深入解析reset命令原理以及与checkout命令的区别(代码片段)

...或者维护Git仓库、实现代码控制所需的大多数日常命令和工作流程,尝试跟了踪和提交文件的基本操作,并且掌握了暂存区和轻量级地分支及合并的威力。如果想进一步对Git深入学习,可以学习一些Git更加强大的功能... 查看详情

git开发流程以及常用命令

....在本地进行代码修改4.gitaddfile_name将修改后的文件添加到工作区5.gitcommit-mmessage将工作区的内容提交到版本库6.gitstatus查看仓库当前的状态7.gitpushorigintest:test将本地分支推送 查看详情

一篇文章,教你学会git(代码片段)

在日常工作中,经常会用到Git操作。但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼。本篇文章主要针对刚开始接触Git的新人,理解Git的基本原理,掌握常用的一些命令。一、Git工作流程以上包括一些简单而常用的命... 查看详情

git常用命令(代码片段)

...sp;二、单机模式Git把管理的文件分为了两个区域四个状态工作区:当前开发程序所在目录称为工作区,即:工作开发都是在该目录,该区域的文件会有状态的变化且状态由git自动检测,如果程序中文件做任何操作(增、删、改)... 查看详情

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

常用git命令以及处理技巧基础常用命令#克隆gitclonegit@github.com:fengcms/fengcms.git#拉gitpull#添加某一个文件gitadd"src/xxx.js"#添加所有文件,严禁使用`gitadd.`这样的命令!这完全是不同的含义!gitadd-A#暂存——... 查看详情

git常用命令操作(代码片段)

...器,开发人员本地都有localrepository集中式必须要联网才能工作,而且对网络的依赖性较强 查看详情

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

Git是我们日常工作中使用频率极高的工具,各种指令让人眼花缭乱,今天,我们就在这里总结一下它的一些基本指令,算是做一份操作笔记吧。前言Git是我们日常工作中使用频率极高的工具,各种指令让人眼花缭乱,今天,我们... 查看详情

git常用命令清单(代码片段)

...b000概念简单介绍在A目录使用git进行版本管理,A目录即为工作区,我们在工作区上面操作文件(创建、修改、删除等等),A目录下的隐藏目录.git 查看详情

git操作常用命令(代码片段)

git仓库配置常用命令####首先下载代码+git下载代码命令:gitclone[git地址][下载位置]####分支命令1.查看分支gitbranch2.查看远程分支gitbranch-r3.查看所有分支(本地和远程)gitbranch-a4.创建分支gitbranch[分支名称]5.切换分支gitcheckout[分支名称... 查看详情

git常用操作入门(基于bash命令快速入门)(代码片段)

...好需要用Git作为版本控制,而且将会用到大量的分支以及操作。最恐怖的是,之前都用SourceTree作为Git的图形化界面工具,一直没有好好地用GitBASH。这次基本上都是通过在BASH上面操作(虽然有IDEA的图形工具)&... 查看详情

git常用基本命令(代码片段)

...关操作tag相关操作撤销相关操作参考资料本文主要介绍Git常用的基本命令。基本命令仓库相关命令创建新仓库gitinit克隆项目gitclonehttps://github.com/Erik-ly/git-test.git查看当前配置gitconfig--li 查看详情

使用plumbing命令来深入理解gitadd和gitcommit的工作原理(代码片段)

...完成(见下文),plumbing命令可以帮助我们了解git底层的工作原理阅读本文还需要了解.git目录的 查看详情

git常用操作(代码片段)

...2.常用命令常规入库gitstatus#查看修改gitaddxx.c/--all/.#添加工作区文件到暂存区;(指定修改文件/项目所有修改文件/当前目录下所有修改文件)gitcommit-s-m"****描述****"#提交暂存区文件到本地仓库;(-s显 查看详情

git常用操作

Git介绍Git工作机制Git代码托管中心Git常用命令Git分支概述和优点Git团队协作机制Git工作机制Git代码托管中心代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。局域网GitLab互联网GitHub(外网)Gitee码云(... 查看详情

git常用操作命令(代码片段)

设置ssh-keyssh-keygen-trsa-C"18217426147@163.com"gitclonegitclonegit@e.coding.net:weimeigu/auction.backend/auction.backend.git创建并且切换分支gitcheckout-bdev开发完成使用命令gitaddreadme.txtgitcommit-m"branchtest"合并分支g 查看详情

那些年,我们向往使用的git命令git常用命令总结(代码片段)

...很熟悉,最近想总结Git的原因是笔者在带新人和项目工作中经常发现一些不了解Git或者只会进行基本的操作,面对合并、回退等操作就一脸蒙蔽。一旦发生冲突就手足无措。工作中有很大一批人停留在clone、commit、pull、pu... 查看详情

git常用命令和配置(代码片段)

...,但日常使用只要记住下图的6个主要命令,就可以了。工作区(WorkingDirectory)在git管理下的正常目录都算是工作区。就是你平时存放项目代码的地方。暂存区(Stage/Index)暂存区,用于临时存放你的改动,事实上它只是一个文件,... 查看详情