Git入门级常用命令(1)

Git入门级常用命令(1)

话不多说,直接上干货~

入门

下载

https://git-scm.com/downloads

查看版本

$ git --version 
git version 2.30.0.windows.1

常用命令


mkdir oa-parent 
cd oa-parent 
vim .gitignore 
git init 
// 添加文件到暂存区 
git add --all(或 git add .// 提交暂存区文件到本地仓库 
git commit -m "first commit" 
// 设置远程仓库地址 
git remote add origin 
https://gitee.com/ph0211/oa-parent.git 
// 推送本地仓库代码到远程仓库 
git push -u origin master 
// 回滚分支 
git pull 
git reset 4c7ee158
git push -f

配置


// 用户名、邮箱 
git config --global user.name "ph0211" 
git config --global user.email "690574895@qq.com" 
// Windows 下需要禁用 
crlf 自动转换 lf git config --global core.autocrlf false 
// 代理服务器 
git config https.proxy http://xzproxy.cnsuning.com:8080
git config http.proxy http://xzproxy.cnsuning.com:8080

配置文件的三种类型


// 当前项目 
git config window 10 修改文件: 
E:\doc\IdeaProjects\code\.git\config 
// 当前用户 
git config --global 
window 10 修改文件: 
C:\Users\PanHao\.gitconfig 
// 所有用户 
git config --system 
window 10 修改文件: 
D:\dev\Git\etc\gitconfig

Windows 下需要禁用 crlf 自动转换 lf

Windows 中的换行符为 crlf, 而在 Linux 下的换行符为 lf
autocrlf = true:表示要求 git 在提交时将 crlf 转换为 lf,而在检出时将 crlf 转换为 lf
autocrlf = false:表示提交和检出代码时均不进行转换
autocrlf = input:表示在提交时将 crlf 转换为 lf,而检出时不转换

忽略配置

// IntelliJ IDEA 
.idea/ 
*.iml 
// Compiled class file 
target/

增加/删除文件

git add –all 和 git add.的区别

版本导致的差别

(1)1.x 版本
git add all 可以提交未跟踪、修改和删除文件。
git add . 可以提交未跟踪和修改文件,但是不处理删除文件。
(2)2.x 版本
两者功能在提交类型方面是相同的。

所在目录不同导致的差异

(1) git add all 无论在哪个目录执行都会提交相应文件。
(2) git add . 只能够提交当前目录或者它后代目录下相应文件。

分支


// 列出所有本地分支 
git branch 
// 列出所有远程分支 
git branch -r 
// 列出所有本地分支和远程分支 
git branch -a 
// 查看出每个分支当前指向的 
commit object git branch -v 
// 查看已经被合并进当前分支的分支 
git branch --merged 
// 查看没有被合并进当前分支的分支 
git branch --no-merged 
// 删除分支 
git branch -d 
// 强制删除分支 
git branch -D 
// 将本地仓库 master 分支与远程仓库 master 分支关联 
git branch --set-upstream-to=origin/master master

查看信息

// 查看提交历史 
git log --oneline --abbrev-commit --graph

git status查看代码状态

新建文件TestServiceImpl.java(文件状态:Untracked)

(1)执行命令

// 新增 TestServiceImpl.java 文件 
git status

(2)Git Bash 执行结果

PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git status 
On branch master 
Untracked files: 
(use "git add <file>..." to include in what will be committed) 
oa- auth/src/main/java/com/zhss/oa/auth/service/impl/TestServiceImpl.java 
nothing added to commit but untracked files present (use "git add" to track)

将 TestServiceImpl 文件加入暂存区(文件状态:Staged)

(1)执行命令

git add oa- 
auth/src/main/java/com/zhss/oa/auth/service/impl/TestServiceImpl.java git status

(2)Git Bash 执行结果

PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git add oa- auth/src/main/java/com/zhss/oa/auth/service/impl/TestServiceImpl.java 
PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git status 
On branch master 
Changes to be committed: 
(use "git restore --staged <file>..." to unstage)
 new file: oa- auth/src/main/java/com/zhss/oa/auth/service/impl/TestServiceImpl.java

提交 TestServiceImpl 文件到本地仓库(文件状态:Unmodify)

(1)执行命令

git commit -m 'add TestServiceImpl class' 
git status

(2)Git Bash 执行结果


PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git commit -m 'add TestServiceImpl class' 
[master 34806f4] add TestServiceImpl class 
1 file changed, 8 insertions(+) 
create mode 100644 oa- auth/src/main/java/com/zhss/oa/auth/service/impl/TestServiceImpl.java 

PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git status 
On branch master 
nothing to commit, working tree clean

修改 TestServiceImpl 文件(文件状态:Modified)

(1)执行命令

修改 TestServiceImpl.java 文件 
git status

(2)Git Bash 执行结果

PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git status 
On branch master 
Changes not staged for commit: 
(use "git add <file>..." to update what will be committed) 
(use "git restore <file>..." to discard changes in working directory) 
       modified: oa- 
auth/src/main/java/com/zhss/oa/auth/service/impl/TestServiceImpl.java 
no changes added to commit (use "git add" and/or "git commit -a")

将 TestServiceImpl 文件加入暂存区(文件状态:Staged)

(1)执行命令

git add oa- 
auth/src/main/java/com/zhss/oa/auth/service/impl/TestServiceImpl.java 
git status

(2)Git Bash 执行结果

PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git add oa- 
auth/src/main/java/com/zhss/oa/auth/service/impl/TestServiceImpl.java 

PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git status 
On branch master Changes to be committed: 
	(use "git restore --staged <file>..." to unstage) 
	modified: oa- 
auth/src/main/java/com/zhss/oa/auth/service/impl/TestServiceImpl.java

提交 TestServiceImpl 文件到本地仓库(文件状态:Unmodify)

(1)执行命令

git commit -m 'add a method for TestServiceImpl' 
git status

(2)Git Bash 执行结果

PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git commit -m 'add a method for TestServiceImpl' 
[master 89362c4] add a method for TestServiceImpl 
1 file changed, 4 insertions(+) 

PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git status 
On branch master nothing to commit, working tree clean

git log查看提交历史

查看提交历史

git log

(1)执行命令

git log

(2)Git Bash 执行结果

PanHao@DESKTOP-1K16GB0 MINGW64 /e/doc/IdeaProjects/oa-parent (master) 
$ git log 
commit 89362c4377ea82f11103f07b2bcbd0f260e122cc (HEAD -> master) 
Author: ph0211 <690574895@qq.com> 
Date: Thu Jan 28 00:09:40 2021 +0800 
	add a method for TestServiceImpl 
commit 34806f4563e114dbc82a78f66ee6588f9c0fc24b 
Author: ph0211 <690574895@qq.com> 
Date: Wed Jan 27 23:49:17 2021 +0800 
	add TestServiceImpl class 
commit 137d1e64ee796aead7664f6ecc433d8c560d04e8 
Author: ph0211 <690574895@qq.com> 
Date: Wed Jan 27 23:41:32 2021 +0800 
	first commit
git reflog

(1)执行命令

git reflog

(2)Git Bash 执行结果

PanHao@DESKTOP-1K16GB0 MINGW64 /E/doc/IdeaProjects/oa-parent (master) 
$ git reflog 
34806f4 (HEAD -> master) HEAD@{
   0}: reset: moving to HEAD^ 
89362c4 HEAD@{
   1}: commit: add a method for TestServiceImpl 
34806f4 (HEAD -> master) HEAD@{
   2}: commit: add TestServiceImpl class 
137d1e6 HEAD@{
   3}: commit (initial): first commit

查看精简图形结构的提交历史

(1)执行命令

git log --oneline --abbrev-commit --graph 
--oneline 或 --pretty=oneline:以精简模式显示 
–abbrev-commit:头部数据减少 
–graph:图形

(2)Git Bash 执行结果
在这里插入图片描述

重置版本

(1)执行命令

git reset --hard 89362c4:回退到指定版本 
git reset --hard HEAD^:回退到上一个版本 
git reset --hard HEAD~5:回退到倒数第5个版本 

HEAD:就是回退到当前版本 
HEAD^:回退到上一版本 
--hard:恢复工作区、暂存区
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100706.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pycharm安装后如何使用_Pycharm安装教程

    pycharm安装后如何使用_Pycharm安装教程http://blog.csdn.net/u014044812/article/details/78727496 激活码https://www.cnblogs.com/beginner-boy/p/7785041.html由于本人也是开发语言的学习小白,所以对于开发时使用的工具也不算太熟悉,不过这里还是要推荐一下本人使用过的两款工具:1、pycharm ;2、eclipse这是我用的比较顺…

  • android之ContentObserver内容观察者的使用

    ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于   数据库技术中的触发器(Trigger),当ContentObserver所观察的Uri发生变化时,便会触发它。(1)注册:    public final void  registerContentObserver(Uri uri, boolean noti

  • 博科Brocade 300光纤交换机配置zone教程

    博科Brocade 300光纤交换机配置zone教程博科Brocade300光纤交换机配置zone教程光纤交换机作为SAN网络的重要组成部分,在日常应用中非常普遍,本次将以常用的博科交换机介绍基本的配置方法。博科300实物图:环境描述:如上图,四台服务器通过各自的双HBA卡连接至两台博科300光纤交换机,IBMV3700为双控制器,每个控制器再分别与两台光纤交换机相连。完成所有的连线及配置工作后,还需对光纤交…

  • lsd 特征点匹配代码_2018-09-24 多关键字排序(基数排序LSD + MSD)「建议收藏」

    lsd 特征点匹配代码_2018-09-24 多关键字排序(基数排序LSD + MSD)「建议收藏」多关键字排序很多时候,一个对象可以用多个特征值来刻画它,可以把每个特征值看做一个关键字,比如扑克牌有花色和点数这两个特征,如果所要求的顺序由多个关键字联合决定,我们就可以利用这种特征来使用多关键字排序方法,多关键字地位不是平等的,有优先级大小。如扑克牌排序,我们就可以规定花色比点数优先,也就是说无论点数多少,只要花色大的就认为它是大牌,比如规定黑桃大于红心,红心大于梅花,梅花大于方块。多关键字排序…

  • java中import是什么意思_java中import关键字是什么意思「建议收藏」

    java中import是什么意思_java中import关键字是什么意思「建议收藏」import关键字是用来导入包的,因为实际开发中,你不可能把所有的类都放在同一个default包里面。包的作用就是给java类进行分拣,不同业务逻辑的java类放在同一个包中,比如工具包,实体包。那么,你在a包中的A类,希望调用b包中的B类,就需要导入b包。import关键字使用1、显示导入指定包下的类或者接口importjava.util.Scanner;2、写在包的声明和源文件之间packa…

  • The MySQL C API 编程实例

    The MySQL C API 编程实例

    2021年11月13日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号