Blog
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)

HiuZing

🍑
首页
文档
收藏
关于
  • 在线转换时间戳 (opens new window)
  • 在线压缩图片 (opens new window)
  • Float-Double转二进制 (opens new window)
  • 文件转Hex字符串 (opens new window)
  • Git常用命令
    • Git 创建仓库
    • Git基本操作
    • 回退版本
    • 查看历史提交记录
    • 远程仓库操作
    • 分支管理
    • 合并分支命令
    • 升级
  • Git和SVN的区别
  • Git使用规范
  • Git提交规范
  • 代码规范
  • ssh
  • Git
HiuZing
2022-07-30
目录

Git常用命令

# Git 创建仓库

# 初始化仓库

git init
1

如果当前目录下有几个文件想要纳入版本控制

git add ./
git commit -m '初始化项目版本'
1
2

# 拷贝项目

git clone <repo> //repo Git 仓库
1

# Git基本操作

# 添加文件到暂存区

git add
1

# 查看仓库当前的状态(显示有变更的文件)

git status	
1

# 比较文件的不同(暂存区和工作区的差异)

git diff	
1

# 查看未提交的暂存

git diff --cache		
1

# 查看哪些修改以及被暂存了还没提交

git diff --staged
1

# 提交暂存区到本地仓库

git commit	
1
# -m 可以是一些备注信息
git commit -m [message]
1
# -a 参数设置修改文件后不需要执行 git add 命令,直接来提交
git commit -a
1

# 回退版本

git reset
1
# --soft 参数用于回退到某个版本
git reset --soft HEAD~3   # 回退上上上一个版本 
git reset –hard bae128  # 回退到某个版本回退点之前的所有信息
git reset --hard origin/master    # 将本地的状态回退到和远程的一样 
1
2
3

--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交

git reset --hard HEAD
1

注意

谨慎使用 –hard 参数,它会删除回退点之前的所有信息

# 将文件从暂存区和工作区中删除

git rm 要删除的文件
1

# 查看历史提交记录

git log	
1
# --oneline选项,查看提交的历史记录(查看历史记录的简洁的版本)
git log --oneline			
1
# --graph 选项,查看历史中什么时候出现了分支、合并。以下为相同的命令
git log --reverse
1
# --reverse 参数来逆向显示所有日志
git log --reverse --oneline
1
# 查找指定用户(查找Linus 提交的部分)
git log --author=Linus --oneline -5
1
# 指定日期
git log --oneline --before={3.weeks.ago} --after={2010-04-18}
1

# 将工作目录中的文件进行重命名 再将修改添加到暂存区

 git mv 原文件名 新文件名
1

# 远程仓库操作

git remote	
1
# 删除远程仓库
git remote rm name
1
# 显示所有远程仓库
git remote -v
1
# 添加远程版本库
git remote add [shortname] [url] //shortname 为本地的版本库
git remote add origin git@github.com:tianqixin/runoob-git-test.git
1
2

# 从远程获取代码库

git fetch	
1

# 下载远程代码并合并

git pull	
1

# 上传远程代码并合并

git push	
1
# 强制推送
git push -f origin master
1

注释: origin远程仓库名,master分支名,-f为force,意为:强行、强制

:::dander

这行命令的意思就是强制用本地的代码去覆盖掉远程仓库的代码(请谨慎使用)

:::

# 分支管理

# 创建分支命令

git branch (branchname)
1
# 查看分支指向的最新的提交
git branch -v					
1
# 在当前提交对象上创建新的分支
git branch name
1

# 切换分支命令

git checkout (branchname)
1

注意

在切换的时候 一定要保证当前分支是干净的!!

  • # 允许切换分支:

分支上所有的内容处于 已提交状态!

(避免)分支上的内容是初始化创建 处于未跟踪状态

(避免)分支上的内容是初始化创建 第一次处于已暂存状态

  • # 不允许切换分支:

分支上所有的内容处于 已修改状态 或 第二次以后的已暂存状态

在分支的工作做到一半时 如果有切换分支的需求,我们应该将现有的工作存储起来

checkout深入理解

  • # 共同点

​ 都需要重置 HEAD 暂存区 工作目录

  • # 不同点
    git checkout branchname
    
    git reset --hard commithash
    
    1
    2
    3
分支名 checkout reset --hard
工作目录是安全 强制覆盖
动HEAD时不会带着分支走而是切换分支 带着分支走
点击查看

checkout对工作目录是安全的 reset --hard是强制覆盖

checkout动HEAD时不会带着分支走而是切换分支

reset --hard是带着分支走

# 合并分支命令

git merge branchname
1
# 查看合并到当前分支的分支列表(一旦出现在这个列表中 就应该删除)
git branch --merged
1
# 查看没有合并到当前分支的分支列表(一旦出现在这个列表中 就应该观察一下是否需要合并)
git branch --no-merged
1

# 列出支

git branch
1

# 删除分支

git branch -d (branchname)
1

# 强制删除分支

git branch -D branchname
1

# 升级

系统:macOS

采用:Homebrew

查看 Git 版本

git --version
1

升级 Git

brew install git
1

重新链接 git

brew link git --overwrite
1

关闭终端, 重新查看 Git 版本

git --version
1

查看Git安装路径

which git
1
上次更新: 2024/08/14, 04:14:33
Git和SVN的区别

Git和SVN的区别→

最近更新
01
React Native 使用SVG
08-13
02
Docker基础命令
08-04
03
算数逻辑单元
07-30
更多文章>
Theme by Vdoing | Copyright © 2021-2024 WeiXiaojing | 友情链接
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式