Git常用命令总结

Git的使用

一、Git配置

Git全局配置

​ 在安装完成Git后,开始正式使用前,是需要有一些全局设置的,如用户名、邮箱等。

设置全局配置的主要命令是git config

git config --global user.name "your name"  //设置全局用户名
git config --global uer.email "your email"  //设置全局邮箱

其中,--global指定全局配置,不使用该参数,则为当前所在仓库配置。

Git版本库配置

​ 除了用户名、邮箱之外,还有很多的配置可以用来定义Git

git config --global color.ui true // 让Git显示不同的颜色
git config core.ignorecase true // 让 Git 对仓库中的字符大小写敏感

​ 查看所有的已设置的配置:

git config -l

在这里插入图片描述

二、基础操作

1、创建Git版本库

​ 在本地创建Git版本库,使用git init命令。

​ 首先,需要先新建一个存放版本库的目录,然后进入该目录所在路径,然后执行版本初始化命令。

git init

在目录当中,会出现一个.git的文件,这就说明创建版本库成功了。

在这里插入图片描述

2、添加文件到版本库

​ 要将一个文件加入到版本管理,首先需要将文件提交到暂存区,然后才能提交到仓库当中。

2.1、将文件添加到暂存区
git add Readme.md // 添加单个文件到暂存区
git add . // 将当前目录下所有修改添加到暂存区

注:在每一个版本库当中都会有一个Readme文件,用于说明版本库,及时记录版本库的更新、修改。

在这里插入图片描述

2.2、将暂存区的文件提交到版本库
git commit // 如果暂存区有文件,则将其中的文件提交到仓库
git commit -m 'your comments' // 带评论提交,用于说明提交内容、变更、作用等

在这里插入图片描述

3、查看仓库的状态

​ 在提交或者修改了文件后,有会需要查看版本库的状态,可通过下面的指令查看。

git status 

4、查看仓库中的具体修改

​ 在向本地缓存提交后,可以通过git diff来查看具体修改的内容。

git diff // 查看提交的所有改动
git diff Readme.md  //查看文件的具体改动

在这里插入图片描述

5、查看提交历史记录

​ 查看提交的历史记录,或者寻找某个具体的提交来查看当时的代码。

git log  // 显示所有提交的历史
git log --pretty=online  // 单行显示提交历史记录的内容

​ 每一次提交都会生产一个40为字符串的哈希值。

在这里插入图片描述

6、版本回退

​ 通过每一次的哈希值,可以根据这个哈希值来回退到历史版本。

git reset --hard HEAD^  // 回退到上一个提交版本
git reset --hard HEAD^^  // 回退到上上一个提交版本
git reset --hard 'commit_id'  // 根据哈希值回退到指定版本

7、回到未来的某个版本

​ 当回退到某个提交的版本后,再通过git log是无法显示在这之后的提交信息的,但通过git reflog可以获取到操作命令的历史。

​ 回到未来的某个版本时,首先通过git reflog从历史命令中找到想要回到的哈希值,再通过git reset --hard来切换。

git reflog
git reset --hard 'commit_id'

8、撤销修改

​ 撤销修改同样包括两方面的内容,由于仓库中的文件在提交之前,可能在工作区当中,或者也有可能在版本控制范围内,也可能在暂区当中。

8.1、丢弃工作区中文件的修改
git checkout -- Readme.md  // 如果Readme.md 文件在工作区,则丢弃其修改
git checkout -- .  // 丢弃当前工作区当中的文件修改

注:在git checkout ----是必须的。

8.2、丢弃已经进入暂存区的修改
git reset HEAD Readme.md  // 将 Readme.md 恢复到HEAD 提交版本的状态

9、删除文件

​ 在文件未添加到暂存区之前,对想删除的文件可以直接物理删除。或者通过git checkout -- file来丢弃。如果文件已经被提交,则需要git rm来删除:

git rm Readme.md // 删除已经被提交过的 Readme.md 

注:git rm只能删除已经提交到版本库中的文件。其他状态的文件使用这个指令会出错。


三、分支管理

​ 分支管理是版本控制系统当中很重要的一个概念,在Git中新建、合并等分支的操作非常轻量便捷,这样的分支管理,更加便于控制版本、修改等。

1、查看分支

git branch  // 查看本地分支信息
git branch -v  // 查看相对详细的本地分支信息
git branch -av  // 查看包括远程仓库在内的版本分支信息

注:在git branch的输出中,有一个分支的名字前带有*,这标识是当前所在的分支。

在这里插入图片描述

2、创建分支

当修改一个Bug或开发新功能时,通常会先创建一个分支,用于避免对生产当中的版本的影响。

git branch 'name' // 创建一个分支,name为分支名称

在这里插入图片描述

3、切换分支

当创建了一个分支后,需要切换到创建的分支上,需要使用切换分支的指令,在分支上开发。

git checkout 'name' // 切换到'name' 的分支

在这里插入图片描述

4、创建并切换分支

git checkout -b 'name'  // 新建完分支后,切换到新建的分支上

5、合并分支

当在一个分支上开发完成之后,会将这个分支合并到主分支上。

git checkout master  // 切换回主分支
git merge dev // 将dev分支合并到master分支上

注:这里可能会有坑,因为在两个合并时,可能会面临冲突的问题。冲突的问题在后续也会写到。

6、删除分支

当之前创建的分支开发完成之后,分支不需要了,就可以删除了。

git branch -d dev // 删除 dev 分支

四、远程仓库

​ 在上面当中介绍的都是为本地工作区的操作,在提交到了本地的工作区后,可以推送到远程仓库。

1、从远程仓库克隆

git clone hhtps://github.com/git/git.git // 通过https协议,克隆Github上git仓库的代码
git clone test@github.com/git/git.git  // 通过ssh协议,克隆Github上git仓库的代码

2、添加远程仓库

将本地库,添加到远程库

git remote add origin your_remote_git_repo // 本地库添加远程库

3、推送本地库到远程库

将本地库的提交内容推送到远程库,供别人协作。

git push -u origin master  // 第一次推送时,可以简化后面推送或拉取命令的使用
git push origin master  // 将本地的master推送到origin远程分支

注:git push -u origin master,第一次使用时,带上 -u 参数,在将本地的 master 分支推送到远程新的 master 分支的同时,还会把本地的 master 分支和远程的 master 分支关联起来。

4、从远程仓库获取最新的内容

​ 在多人协作开发当中,当自己完成了本地仓库中的提交时,在向远程仓库提交前,需要先获取到远程仓库的最新内容。

git fetch origin master
git pull origin master

git fetchgit pull 之间的区别:

  • git fetch 是仅仅获取远程仓库的更新内容,并不会自动做合并。
  • git pull 在获取远程仓库的内容后,会自动做合并,可以看成 git fetch 之后 git merge

5、查看远程仓库信息

git remote [-v] // 显示远程版本库信息

6、建立本地分支与远程分支的关联

git branch --set-upstream 'local_branch' origin/remote_branch

7、修改本地仓库对应的远程仓库

​ 当远程仓库迁移时,需要修改本地仓库对应的远程仓库的地址。

gir remote set-url origin url

五、标签管理

​ 在项目开发时,每提交一次版本,可以将提交的版本打上一个标签,便于后续的检索以及对版本的管理。

1、创建标签

git tag -a 'tagname' -m 'comment' 'comment_id'

-a 参数指定标签名, -m 添加备注信息, ‘commit_id’ 指定打标签的提交。

2、查看所有标签

git tag // 查看本地仓库当中的所有标签

3、查看具体标签信息

git show tagname

4、删除本地标签

git tag -d tagname

5、删除远程标签

git push origin :refs/tags/tagname
 
git push origin --delete tagname
 
git push origin :tagname

6、推送标签到远程仓库

6.1、推送单个标签到远程仓库
git push origin tagname
6.2、一次性推送所有标签到远程仓库
git push origin --tags

六、Git常用指令总结

4、删除本地标签

git tag -d tagname

5、删除远程标签

git push origin :refs/tags/tagname
 
git push origin --delete tagname
 
git push origin :tagname

6、推送标签到远程仓库

6.1、推送单个标签到远程仓库
git push origin tagname
6.2、一次性推送所有标签到远程仓库
git push origin --tags

六、Git常用指令总结

在这里插入图片描述

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H e

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值