目录

  • 1. 全局配置授权信息
  • 2. 仓库初始化
  • 3. 版本回退
  • 4. 工作区和暂存区
  • 5. 远程仓库
  • 6. 分支管理
  • 7. 标签管理
  • 8. 配置别名
  • 小结

git常用命令

1. 全局配置授权信息

git config --global user.name “你的名字”
git config --global user.email “你的邮箱”

2. 仓库初始化

cd existing_folder
git init
git remote add origin ssh://git@192.168.137.130:8022/root/feedback.git
git add .
git commit -m “Initial commit”
git push -u origin master

注意:仓库初始化的时候要和云端的代码一致,如果不一致会报错,可以使用git pull或者git fetch使代码一致。

3. 版本回退

  • 查看Git中历史提交记录:git log
  • 查看分支合并图:git log --graph
  • 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数:git log --pretty=oneline 或者 git log --pretty=oneline --abbrev-commit
  • 回退到上一个版本:git reset --hard HEAD~1(1、2、3、、、、)
  • 查看每一次的操作命令:git reflog
  • 回退到指定的版本:git reset --hard HEAD + 每一次提交命令前面的版本号

4. 工作区和暂存区

提交文件前,无论是对文件的修改,新建还是删除,其操作的内容都会放到暂存区中,然后,一次性提交暂存区的所有修改
查看暂存区的状态:git status

撤销工作区和暂存区的修改操作
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退命令,不过前提是没有推送到远程库。

工作区和暂存区的删除操作
添加一个新文件test.txt到Git并且提交的情况下,误删了该文件,你可以有两个选择:
一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:git checkout – test.txt
(git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”)
注意:从来没有被添加到版本库就被删除的文件,是无法恢复的!

git diff 查看文件修改后的差异:
1)、比较工作空间中的文件和暂存区文件的差异
git diff [files]

2)、比较暂存区的文件与之前已经提交过的文件差异
git diff --cached [files]

3)、比较repo与工作空间中的文件差异
git diff HEAD [files]

5. 远程仓库

将本地git仓库和远程仓库同步:git remote add origin ssh://git@192.168.147.132:8022/Nick/demo.git

本地库的所有内容推送到远程库上:git push -u origin master

查看远程库信息:git remote -v

删除远程库:git remote rm (如:git remote rm origin)

要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone <项目地址> 命令克隆。

远程主机的更新,全部取回本地git fetch <远程主机名>;

将远程仓库特定分支更新到本地git fetch <远程主机名> <分支名>

6. 分支管理

分支作用:假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

创建dev分支:git branch dev

切换分支:git checkout dev 或者 git switch master

创建并切换分支:git checkout -b dev (git checkout命令加上-b参数表示创建并切换) 或者 git switch -c dev

查看当前分支:git branch

把dev分支的工作成果合并到master分支上:git merge dev
注意:当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。

删除dev分支(-D:强制删除):git branch -d dev

git merge --no-ff dev:合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

隐藏当前的工作区:git stash
查看被隐藏的工作区列表: git stash list
恢复被隐藏的工作区:git stash apply stash@{0}
删除被隐藏的工作区: git stash drop stash@{0}
恢复被隐藏的工作区同时删除:git stash pop stash@{0}
“复制”某次提交到当前分支:git cherry-pick <commit的编号>

抓取分支:
git clone ssh://git@192.168.137.129:8022/root/feedback.git
从远程库clone时,默认情况下,只能看到本地的master分支。
如果要在dev分支上开发,就必须创建远程origin的dev分支到本地,命令如下:
git checkout -b dev origin/dev

推送分支时注意:
1). 首先,可以试图用git push origin 推送自己的修改;
2). 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
3). 如果合并有冲突,则解决冲突,并在本地提交;
4). 没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!
5). 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/。

7. 标签管理

对当前项目打一个标签:git tag v1.0
查看所有标签:git tag
给之前的提交版本打标签:
1). 先查询历史提交的commit id:git log --pretty=oneline --abbrev-commit
2). 再使用以下命令:git tag v0.9

查看标签信息:git show v1.0
指定标签信息:git tag -a -m “指定信息”
删除标签:git tag -d v1.0
推送某个标签到远程:git push origin v1.0
推送全部标签到远程:git push origin --tags
删除远程的标签(先删除本地的标签):git push origin :refs/tags/

8. 配置别名

有些git命令是真心不好记,比如:git log --pretty=oneline --abbrev-commit
因此,git提供了自定义给命令配置别名的方法
如:
1)、st就表示status:git config --global alias.st status
2)、git config --global alias.lg “log --color --graph --pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ --abbrev-commit”

小结

Git操作其实再公司中开发中用的很普遍,本次也是自己搭建了GitLab,学了些版本控制的东西,然后想好好总结一下Git的命令。其实Git的常用命令并不多,关键是容易忘,需要一个自己一看就明白的整理,然后加上在工作中频繁的使用,用起来才会得心应手。本次的学习是花了两天的“空闲”时间,学习了一下廖雪峰老师的Git教程:https://www.liaoxuefeng.com/wiki/896043488029600/

Git——常用命令再学习相关推荐

  1. 【Java学习笔记(五十三)】之Git简介,Git常用命令

    本文章由公号[开发小鸽]发布!欢迎关注!!! 老规矩–妹妹镇楼: 一. Git (一) Git与SVN的对比 1. SVN SVN是集中式版本控制系统,版本库是集中放在中央服务器上的,开发人员只能从中 ...

  2. Git常用命令和Git团队使用规范指南

    1. 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品--Git.它的出现改变了软件开发流程,大大地提高了开发流畅度,直到现在仍十分流行,完全没有衰退 ...

  3. Git 常用命令总结,掌握这些,轻松驾驭版本管理

    Git 常用命令总结,掌握这些,轻松驾驭版本管理 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn ...

  4. Git 常用命令操作详解

    Git常用命令 Git提供了很多命令来完成相应的操作,为了方便学习,我们将这些命令进行了分类.在学习命令的过程中会讲解一些Git相关的概念. 在本章节我们会学习到如下一些命令和概念: 环境配置 获取G ...

  5. Git常用命令一日游活动

    写在前面 如果只解释命令的用法的话,我想,是非常枯燥,而且没人愿意去看,看了也学不会,学不会就用不了,用不了就-就没有然后了,所以,我准备模拟一个项目的建立和完整的流程,来介绍一些 git 的一些常用 ...

  6. Git使用 从入门到入土 收藏吃灰系列(三) Git常用命令

    文章目录 一.前言 二.常用的命令 一.前言 参考安装Git 详细安装教程 参考视频B站 Git最新教程通俗易懂,这个有点长,感觉讲的精华不多 参考视频『Git』知道这些就够了_哔哩哔哩_bilibi ...

  7. Git常用命令大全(从入门到使用,学不会评论区骂我)

    Git常用命令大全 1:Git全局设置 当安装Git后首先要做的事情是设置用户名称和email地址.这是非常重要的,因为每次Git提交都会使用该用户信息.在Git 命令行中执行下面命令: 设置用户信息 ...

  8. 【转载】Git 常用命令大全

    一. Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态  git commit 提交  git branch -a 查看所有的分支 git branch ...

  9. Git 常用命令集锦

    文档已储存在 GitHub,这里不再更新校正,请原谅. 远程仓库相关命令 克隆远程仓库:git clone git://github.com/jquery/jquery.git 查看远程仓库:git ...

最新文章

  1. NVIDIA深度学习Tensor Core性能解析(下)
  2. Storybook 5.0正式发布:有史以来变化最大的版本\n
  3. 《MapReduce 2.0源码分析与编程实战》一第1章 HBase介绍
  4. java1.8 indexes_java1.8源码之ArrayList源码解读
  5. 【HDU】4405 Aeroplane chess
  6. android fragment动态加载,动态添加Fragment
  7. 直接从JBoss AS 7组件使用JGroups
  8. 360健康助手文件存储位置 获取图片
  9. 杂七杂八DataTable获取Table某一列成List转换Table成List
  10. java链表的输出_Java输出链表倒数第k个节点
  11. 防刷新ajax视频教程,【赖国荣】Ajax基础与提升第7讲:ajax实现刷新内容实例讲解...
  12. iphone mac地址是否随机_iPad 的 Mac 地址是否会随机更换,如何关闭呢
  13. 免费的微信编辑器插件调用
  14. amd显卡用黑苹果输出黑屏_黑苹果AMD NVIDIA Intel显卡咋驱动?速戳这里
  15. mysql 5.6 触发器_【mysql】mysql触发器使用示例
  16. 差异表达基因热图怎么看_获得差异表达基因后-基因功能注释
  17. Homebrew - 安装与使用
  18. 管家婆软件批量导入商品信息教程
  19. codevs 1219 骑士游历 1997年
  20. python cx_oracle 取回数据后 LOB variable no longer valid after subsequent fetch

热门文章

  1. [ESP32]学习笔记03
  2. Flash&Flex相关资料
  3. 新手如何快速学习贴吧顶贴,一位来自老司机的自述
  4. 【脚本】关于扇贝单词生词本未学单词bug增强脚本
  5. 计算机学院开展的比赛,计算机学院关于开展第四届大学生“5+X”师范技能竞赛的通知...
  6. Alexa新变种,进程中有很多iexplorer进程
  7. Postgres-XL 数据库
  8. android魅族手机 定位功能吗,魅族手机被偷? 看看Flyme找回案例 两招包你找回手机...
  9. 上海2022年平均工资为12184,涨幅只有6.9%
  10. U盘文件无法打开且显示0字节