常见Git命令汇总

前言

最近,有朋友私信让我就git 使用做篇文章分享,分享一下我在日常工作中是如何使用git的。我当场就收费两包辣条,最后讨价还价,朋友用1.5包辣条骗到了这篇文章,等他欣喜的走了我打算直接分享出来,气死这个吝啬鬼,当然最终还是希望本文对你有所帮助。

基础概念

首先我们简单的概述一下gitgit有三个分区,分别是:

  • 工作区(Working Directory):开发者直接编辑的地方,只要文件发生了更改,在这就会显示出来,包含追踪与未追踪文件。通过git add将工作区文件添加到暂存区。

  • 暂存区(Stage | Index):数据暂时存放的区域,通过git commit将暂存区文件添加到本地版本库。

  • 本地版本库(Local Commit History):存放所有已经提交的数据,通过git push推送到远程仓库。

基础命令

git status

查看工作区状态,如果跟踪的文件有做任何修改,都可以通过该命令来发现。 如:这里通过git status就发现在develop分支上,README.md文件发生了更改。

jere@JereMBP GitTest (develop) $ git status
On branch develop
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:   README.md

no changes added to commit (use "git add" and/or "git commit -a")

git diff

查看具体修改内容,比如在上一步中,我们通过git status发现README.md文件发现了更改,这时我们可以通过git diff <file>来查看具体的修改内容:

jere@JereMBP GitTest (develop) $ git diff README.md
diff --git a/README.md b/README.md
index 7eb4917..3d6d2a4 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,5 @@
 # GitTest
 For git command practice
+
+do something on develop branch
+
jere@JereMBP GitTest (develop) $ 

另外,你也可以直接使用git diff,这样就会显示所有文件的所有修改内容。

git checkout

切换分支,比如我在feature-1分支上切换到develop分支上:

jere@JereMBP GitTest (feature-1) $ git checkout develop 
Switched to branch 'develop'
jere@JereMBP GitTest (develop) $ 

在当前分支节点上新建一个分支并且切换过去,比如我在 main 分支上创建一个develop新分支并且切换过去:

jere@JereMBP GitTest (main) $ git checkout -b develop
Switched to a new branch 'develop'
jere@JereMBP GitTest (develop) $ git branch
* develop
  main

放弃工作区所作的修改,类似git restore <file>...,比如:我现在想放弃README.md中的修改

jere@JereMBP GitTest (develop) $ git status
On branch develop
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:   README.md
	modified:   dev-file.txt

no changes added to commit (use "git add" and/or "git commit -a")
jere@JereMBP GitTest (develop) $ git checkout README.md
Updated 1 path from the index
jere@JereMBP GitTest (develop) $ git status
On branch develop
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:   dev-file.txt

no changes added to commit (use "git add" and/or "git commit -a")
jere@JereMBP GitTest (develop) $ 

另外,如果你想放弃所有工作区中的修改,可以使用git checkout .来放弃所有修改。

git branch

查看本地分支情况:

jere@JereMBP GitTest (main) $ git branch
* main

查看远程仓库分支情况:

jere@JereMBP GitTest (develop) $ git branch --remote
  origin/HEAD -> origin/main
  origin/main

在当前节点上创建一个新分支,比如我在 develop 上创建一个feature-1新分支:

jere@JereMBP GitTest (develop) $ git branch feature-1
jere@JereMBP GitTest (develop) $ git branch
* develop
  feature-1
  main

另外,关于创建分支还有一些常用的操作可以了解一下,比如:

# 基于某个分支上开出新分支
$ git branch <new-branch> <base-branch>
# 基于某个提交开出新分支
$ git branch <new-branch> commit_hash
# 基于某个tag开出有新分支
$ git branch <new-branch> v1.1

删除分支

  • 删除本地分支:git branch -d <branch-name>
  • 删除远程分支:git push -d origin <branch-name>

git add

将工作区所作的修改添加到暂存区,如将README.md文件添加到暂存区:

jere@JereMBP GitTest (develop) $ git status
On branch develop
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值