从0开始学Git——Git的常见操作
Git常用命令
创建Git版本库
git init [目录]#创建目录版本库, 不写的话是当前目录
该命令会在目录中创建一个名为.git的隐藏目录
文件提交
- 添加文件:
git add 文件名 #添加到下次commit提交的文件
已经管理过的文件可以使用 git add -u提交代码,这样就不用再写文件名了
git status #使用 git status检查状态:
On branch master
No commits yet
Changes to be committed
提交的代码
git commit -m '注释' # 提交目录下的所有add的代码
使用 git log 可以查看提交的记录
查看状态
git status
git diff 文件名 # 查看被修改改的行,
变更文件名
有这样一个需求我们需要把test.txt改成test.md提交:
执行git commit
报一下错误:
On branch master
Changes not staged for commit:
deleted: test.txtUntracked files:
test.mdno changes added to commit
意思是先要把test.txt删除,然后再提交test.md
方式一:
提交更改后的文件
git add test.md
删除老文件
git rm test.test
方式二 :
git mv test.txt test.md # 这种方法给简单
查看git状态:
git status
On branch master
Changes to be committed:
(use "git reset HEAD ..." to unstage) renamed: test.txt -> test.md
意思为test.txt重命名为test.md
查看历史记录
使用命令查看:
git log [--oneline] # 简洁的看历史记录
--onelline : 简洁的查看历史记录
-n数字: 查看最近的历史记录
--all : 查看所有版本分支的版本历史
--graph: 查看整个仓库
查看详细信息:
git show commit号 # commit号可以是一部分
从本地仓库中撤销代码
- 撤销已提交的代码
git reset --soft HEAD #撤销已经commit的代码
--soft 比较柔和的撤销
HEAD 撤销最近一次提交, 也可以这样写:HEAD~1
将文件移出暂存区
git reset HEAD 文件名
这个撤销请谨慎使用, 因为你可能把别人的代码删掉
- 取消add的代码
git checkout -- .\test.md
使用图形化界面查看
gitk # 在工作目录执行

删除文件
先删除本地文件
再使用命令:
git rm 文件名
git commit -m '删除多余文件'
忽略配置文件
在仓库根目录创建 .gitignore文件
在里面配置: *.txt
分支
git branch 分支名称 #为当前提交创建分支
git branch 分支名称 commit hash#为指定前提交创建分支
git branch #查看分支
git branch -d 分支名称# 删除分支
git checkout 分支名称 #切换分支
git checkout -b 分支名称 #创建并切换分支
git checkout master #切换到主干
git merge 目标分支 #将目标分支合并到当前所在分支
注意切换分支前要先commit修改
将代码推到远程仓库
git push -u origin master# 将本地master分支传递到远程master上
origin 指GitHub
从远端获取代码
git clone git@github.com:liuyanqing1023/xcEduService.git
协同工作需常用的命令
- commit, 提交代码
- pull,更新代码
- push,往远程推送代码
git目录
git仓库里有个.git文件夹

HEAD 存放当前仓库正在工作的分支
refs
heads : 分支
tags : 标签给commit打标签
objects : 放的是对象
切换分支命令: git checkout master
Git对象直接的关系
有三种对象: commit, tree blob
一次提交就是一个commit
提交的树形文件夹叫做tree
文件叫做blob, 只要文件名想通就是一个blob
设置仓库级别的配置:
#设置仓库级别的配置,当然这个配置不是必须的
git config --local user.name 'admin01' #设置用户名
git config --local user.email '395994482@qq.com'#设置email
#在仓库中使用: git config --local --list 检查是否创建成功配置的原则是,范围小的有限范围大的
历史库和暂存区
执行 git add files 把代码放到待提交列表(暂存区)
执行 git commit 把代码放到本地仓库(工作区)
执行git push把代码放到远程仓库

**** 码字不易如果对你有帮助请给个关注****
**** 爱技术爱生活 QQ群: 894109590****
从0开始学Git——Git的常见操作的更多相关文章
- git版本控制系统常见操作总结
简介 Git是强大的版本控制系统,主要功能是针对代码.配置文件等文本进行版本控制.备份等,同时个人认为还是分发代码的一个不错的方式. 常见用法 #创建远程git仓库 [root@test88 ~]# ...
- 从0开始学Git——Git的协同操作
环境: test_git 目录下有个my-project 版本库 所有命令都在test_git目录下执行 本地协同操作 从远端仓库检出代码,或者克隆一个已有的版本库 拷贝一个已有的仓库 #格式: gi ...
- Git分支管理及常见操作
众所周知,使用Git分支,我们可以从开发主线上分离开来,然后在不影响主线的同时继续工作. 既然要使用Git分支,这里就涉及到Git分支的管理及常见操作,如列出分支,分支的创建,分支的删除,分支的合并等 ...
- react-native 常见操作 及 git 补充
一. react-native 常见操作 1.创建项目 react-native init Market(项目名称,首字母大写) 2.安装常用插件 npm install react-native-t ...
- Git学习之常见错误 git push 失败
Git学习之常见错误 git push 失败 问题描述: git push Counting objects: , done. Delta compression using up to thread ...
- Git学习之常见错误 clone被拒绝
Git学习之常见错误 问题: git clone 时 报错 Permission Denied (权限被拒绝). 解决方法: 需要把本地的公钥上传到服务器. 解决步骤: ①第一步,设置本地的git的用 ...
- BladeX 2.0.7.RELEASE版本git后,在idea中导入项目,结果无法运行FlowApplication等几个服务的错误
问题:2.0.7.RELEASE版本git后,在Intellij IDEA运行项目,结果无法运行FlowApplication等几个服务的错误 描述:打开IDEA,点击Check out from V ...
- git常见操作和指令
1.指令集 1.1 本地与远程操作 创建文件 echo > README.md(文件名) 创建文件时输入信息 echo "(message)" >> README ...
- git常见操作总结
git config --global user.name "liyang"git config --global user.email "liyangslj@126.c ...
- 如何从 0 开始学 ruby on rails (漫步版)
如何从 0 开始学 ruby on rails (漫步版) ruby 是一门编程语言,ruby on rails 是 ruby 的一个 web 框架,简称 rails. 有很多人对 rails 感兴 ...
随机推荐
- python 中_init_函数以及参数self
1)class类包含: 类的属性:类中所涉及的变量 类的方法:类中函数 2)_init_函数(方法) 1.首先说一下,带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问. 2. ...
- MapReduce之提交job源码分析 FileInputFormat源码解析
MapReduce之提交job源码分析 job 提交流程源码详解 //runner 类中提交job waitForCompletion() submit(); // 1 建立连接 connect(); ...
- Java中的I/O输入输出流概述
流是一组有序的数据序列,根据操作类型,可以分为输入流和输出流两种,Java语言中定义的负责各种输入输出的类都被放在java.io包中.其中所有的输入流类都是抽象类InputStream(字节输入流)或 ...
- apache自动打包日志脚本
#!/bin/bash # apachedata=$(date +%Y%m%d) time=$(date +%Y%m%d%H --date='1 hour ago') cd /logs/apache/ ...
- Flutter学习笔记(10)--容器组件、图片组件
如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 上一篇Flutter学习笔记(9)--组件Widget我们说到了在Flutter中一个非常重要的理念"一切皆为组件 ...
- golang从context源码领悟接口的设计
注:写帖子时go的版本是1.12.7 go语言中实现一个interface不用像其他语言一样需要显示的声明实现接口.go语言只要实现了某interface的方法就可以做类型转换.go语言没有继承的概念 ...
- difflib python
difflib -帮助进行差异化比较 这个模块提供的类和方法用来进行差异化比较,它能够生成文本或者html格式的差异化比较结果,如果需要比较目录的不同,可以使用filecmp模块. 例子: # -*- ...
- 使用redis分布式锁解决并发线程资源共享问题
众所周知, 在多线程中,因为共享全局变量,会导致资源修改结果不一致,所以需要加锁来解决这个问题,保证同一时间只有一个线程对资源进行操作 但是在分布式架构中,我们的服务可能会有n个实例,但线程锁只对同一 ...
- ssm下的CURD
https://github.com/MenghuiLiu/ssm-curd 以后有更新.... 照着前辈的足迹向前撸
- Dubbo源码学习之-Adaptive自适应扩展
前言 最近三周基本处于9-10-6与9-10-7之间,忙碌的节奏机会丢失了自己.除了之前干施工的那段经历,只看参加软件开发以来,前段时间是最繁忙的了.忙的原因,不是要完成的工作量大,而是各种环境问题, ...