git 使用基础及常用命令

git介绍

本文仅对git使用做基础介绍与流程讲解,关于环境配置问题可参考Git 中文详细安装教程

git是分布式版本控制系统,主要是为了进行对版本的合并,回滚,更新,对比等等操作。无论是github,还是gitlab都是基于git服务的。
在线可视化学习git网站-Learn Git Branching
Learn Git Branching 过关总结

git 初始化

1.通过 git clone构建链接

当我们在github/gitlab上创建一个仓库后,可以通过clone到本地,生成的文件自动包含.git文件夹。即不需要再输入git init 和 git remote add 。

git clone 远端仓库地址 
2.本地初始化
 git init (初始化git) 
 git remote add origin "http://代码地址" (添加远端地址,建立连接)

git 工作区

  • 远程仓库 – 远端代码托管平台(github,gitlab,码云之类)
  • 本地仓库 – 本地文件
  • 缓存区 – 本地git仓库中的.git文件夹
  • 工作区间 – 正在编写的文件

git 提交

在这里插入图片描述

  • git add .
    • 添加所有改动至暂存区,其中 . 表示所有文件
    • git add /test 来添加test文件下的改动到暂存区
    • git add -p   -p (或 —patch) 允许以交互的形式选择每个跟踪文件中要提交的部分。这样每次提交仅包含相关的更改。
  • git commit -m “1111”
    • 提交代码时的说明本次的改动内容,方便以后代码的回滚
    • 如果提交时忘记-m的参数会进入到git vim界面,你可以在这里面输入提交信息
      • 退出vim的方式:
      • 1.按下i键切换到输入模式
        2.按ESC退出输入模式
        3.如果有输入法,切换至英文状态,直接输入冒号 “:”
        4.此时编辑器最底端可以输入命令了,输入wq,w(write) q(quit),然后回车保存并退出vim
    • 每次commit将会创建一个节点
  • git push origin master
    • 其中origin是默认的远端仓库[也可以写远端仓库完整的仓库名],
    • master是分支名
    • 如果本地也处在master分支,可以使用简写git push
    • 默认情况下,只能提交到与本地所在分支同名的远端分支
      • 本地dev,提交到远端dev, git push origin dev
      • 本地master,提交到远端dev, git push origin master:dev

git 拉取

在这里插入图片描述

  • 一般拉取代码直接使用git pull (相当于从远端仓库直接拉到工作区间)
  • git reset 撤销commit 提交,因为commit 会创建节点,所以实际是把

git 冲突

  1. Stash方式
  • 拉取代码前git stash,把本地变更代码存进缓存区
  • git pull拉取
  • git stash pop释放本地代码,解决冲突

该种方式不会产生新的提交节点

  1. Pull方式
  • git add .
  • git cmmit -m “…”
  • git pull解决冲突,合并代码

JetBrains家编辑器均有可视化git合并工具,非常方便

常用git命令

分支

创建远端分支
  • git push origin <远程分支名>:<本地分支名>
  • git push --set-upstream origin <远程分支名>
删除远端分支
  • git branch -d -r <远端分支名>
  • git push origin :<远端分支名>推送一个空分支到远端分支,相当于删除远程分支
本地重命名分支
git branch -m old-name new-name

如果修改的是所在分支可以简写

git branch -m new-name

提交

修改最近的提交
git commit --amend

—-amend 允许你把阶段性更改(例如添加被遗忘的文件)附加到上一次提交。添加 --no-edit 将会修改最后的提交但不更改它的提交消息。如果没有更改,–amend 将允许你重新输入最后的提交消息。

从上一次提交中删除文件
git rm —-cached <file-to-remove>
git commit —-amend

删除

本地删除远端仓库文件夹

可以直接在github上直接删除文件

以删除.idea为例

git rm -r --cached .idea.     // 删除的是缓存

git commit -m "[fix] delete /"

git push (-u) origin master

撤回

  • 撤回commit
    • git reset HEAD
  • 撤回add
    • git rm --cached [filename]

思维导图总结

鹅厂程序猿常用的 Git 命令思维导图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值