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

文章目录

  • 一、前言
  • 二、常用的命令

一、前言

  • 参考安装Git 详细安装教程
  • 参考视频B站 Git最新教程通俗易懂,这个有点长,感觉讲的精华不多
  • 参考视频『Git』知道这些就够了_哔哩哔哩_bilibili,这个精华多,推荐看这个
  • 参考视频7小时学会Git 基础全套完整教程(从入门到精通)_哔哩哔哩_bilibili,这个虽然长,但是他偏实践,对小白友好,特别有意思
  • 附一个Git动画学习网站
  • Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)

讲讲小张的感受:我没有接触过Git,所以看了很多视频,对于入门使用确实只要知道git clone,git add,git commit,git push,git merge ,确实也就足够了。但是我很好奇背后的原理,为什么要用git add到暂存区而不是直接git commit?很多指令之间为什么要按一定的顺序执行?所以这个系列我以初学的时候,小白的角度从安装到工作原理(有的是我自己的见解,如果感觉不对,欢迎指正),再到实际应用!另外,推荐看一遍第三个参考视频,然后看一下第四个参考视频,对工作原理的讲解和实际应用确实不错!

二、常用的命令

先把命令放在这里了,不需要看懂。后面会实践,看不懂回来查看。

2.1Linux命令

平时一定要多使用!这些可以直接在Git Bush Here中使用。CMD不可以用。

  1. cd 改变目录
  2. cd . . 回退到上一个目录,直接cd进入默认目录
  3. start <文件名> 打开文件
  4. cat <文件名> 在命令窗口显示文件内容
  5. vim <文件名> 在命令窗口编辑文件 按“Esc“ 输入“:wq”保存文件 ”:e!"放弃更改
  6. pwd 显示当前所在的目录路径
  7. ls(ll) 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细
  8. touch 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件
  9. rm 删除一个文件, rm index.js 就会把index.js文件删除。
  10. mkdir 新建一个目录,就是新建一个文件夹
  11. rm -r 删除一个文件夹, rm -r src 删除src目录 rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
  12. mv 移动文件, mv index.html src,index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标 文 件夹在同一目录下
  13. reset 重新初始化终端/清屏。
  14. clear 清屏
  15. history 查看命令历史
  16. help 帮助
  17. exit 退出
  18. ‘#’ 表示注释

2.2常用的git命令

Git使用 从入门到入土 收藏吃灰系列(三) Git常用命令_第1张图片

结合图片记忆基本的命令!

通常提交一个记录只需要依次执行git add .,git commit,git push。操作都是对当前分支有效,加origin就可以指定分支。

# 添加所有文件到暂存区
git add .      

# 添加指定文件到暂存区
git add <filename>

# 提交暂存区中的内容到本地仓库
git commit -m 		#"消息内容"    -m 代表提交信息

#  将当前分支push到远程(远程存在该分支)
git push

# 将xxx分支推到远程上,因为远程上没有这个新的xxx分支,所以要加-u。第一次将新分支提交到远程上时需要加-u
git push origin xxx
git push -u origin xxx				# 效果相同
git push --set-stream origin xxx 	# 效果相同

# 将远程主机的最新内容拉到本地,不进行合并
git fetch

# 将远程主机指定分支最新内容拉到本地,不进行合并
git fetch <远程主机名 默认是origin> <分支名>

#  将远程主机的最新内容拉到本地,与当前本地分支直接合并(仅是当前分支) 等于fetch+merge
git pull
git pull origin <branchName> # 指定分支

其它常用命令

# 克隆
git clone

#查看所有文件状态
git status

#查看指定文件状态
git status <filename>

# 列出所有本地分支
git branch

# 列出所有远程分支
git branch -r

# 新建一个分支,但依然停留在当前分支
git branch <branch-name>

# 新建一个分支,并切换到该分支
git checkout -b <branch-name>

# 切换到别的分支/记录
git checkout <branch-name>

# 合并指定分支到当前分支
git merge <branch-name>

# 合并远程分支到当前分支
git merge origin <远程分支>

# 删除分支
git branch -d <branch-name>

# 删除远程分支
git push origin --delete <branch-name>
git branch -dr <remote/branch>

# 变基 按提交顺序合并指定分支到当前分支
git rebase 

# 变基	整合提交记录到一条
git rebase -i <哈希值>
git rebase HEAD~数字 	#从当前记录到前x个记录合并

# 将添加到暂存区的文件移出
git reset <filename>

# 恢复已删除的文件
git reset <哈希值>--hard

# 将所有未提交的修改(工作区和暂存区)保存至堆栈中
git stash

# "挑拣"提交
git cherry pick

git log

# 查看提交记录
git log

# 查看提交记录 展开显示每次提交的内容差异
git log -p

# 查看远程提交记录与本地差异(必须先git fetch 拉取)
git log -p FETCH_HEAD

# 图形化记录
git log --graph

# 简化的图形记录
git log --graph --pretty=format:"%h %s"
git log --graph --oneline

# 查看 dev 有,而 master 中没有的
git log dev ^master 

# 查看 dev 中比 master 中多提交了哪些内容
git log master..dev

# 不知道谁提交的多谁提交的少,单纯想知道有什么不一样
git log dev...master

# 查看所有记录,包括已删除的文件
git reflog

git diff用来比较文件之间的不同

# 当工作区有改动,暂存区为空,diff的对比是"工作区与最后一次commit提交的仓库的所有文件";
# 当工作区有改动,暂存区不为空,diff对比的是"工作区与暂存区的所有文件"。
git diff
git diff <filename>	# 指定文件

# 显示暂存区(已add但未commit文件)和最后一次commit(HEAD)之间的所有不相同文件的增删改
git diff --cached
git diff --staged

# 比较暂存区和工作区最后一次提交的差别
git diff HEAD
git diff HEAD <filename>	  # 指定文件
git diff <哈希值> <filename>	# 指定某一次提交

# 查看最近一次提交的版本与往过去时间线前数X个的版本之间的所有同git diff HEAD中定义文件之间的增删改
git diff HEAD~X
git diff HEAD^^^…(后面有X个^符号,X为正整数)

# 比较两个分支上最后 commit 的内容的差别
git diff <branch-Name1> <branch-Name2> 
git diff <origin/branch-Name1> <branch-Name2> #比较远程分支与本地分支
git diff <branch-Name1> <branch-Name2> --stat	# 显示简略内容

git tag用来建立标签

# 创建本地tag
git tag <tagName>
git tag -a <tagname> -m "XXX..."  # 指定标签信息

# 推送到远程仓库
git push origin <tagName>

# 本地有多条tag,一次推送全部
git push origin --tags

# 切换标签 切换后,分支置空
git checkout <tagName>

# 查看本地某个 tag 的详细信息
git show <tagName>

# 查看本地所有 tag
git tag
git tag -l

# 查看远程所有 tag
git ls-remote --tags origin

# 本地 tag 的删除
git tag -d <tagName>

# 远程 tag 的删除
git push origin --delete tag <tagName>

下期介绍Git的工作原理:工作区,暂存区,本地仓库,远程仓库

专栏速览:

  1. Git使用 从入门到入土 收藏吃灰系列(一) 专栏前言
  2. Git使用 从入门到入土 收藏吃灰系列(二) Git的安装与配置
  3. Git使用 从入门到入土 收藏吃灰系列(三) Git常用命令
  4. Git使用 从入门到入土 收藏吃灰系列(四) Git工作原理
  5. Git使用 从入门到入土 收藏吃灰系列(五) Git本地仓库搭建
  6. Git使用 从入门到入土 收藏吃灰系列(六) 链接远程仓库
  7. Git使用 从入门到入土 收藏吃灰系列 (七) 同时配置Gitee、Github 公钥
  8. Git使用 从入门到入土 收藏吃灰系列 (八) 什么是分支 分支的作用
  9. Git使用 从入门到入土 收藏吃灰系列 (九) git reset 移除暂存区与版本回退
  10. Git使用 从入门到入土 收藏吃灰系列 (十) 详谈push、fetch、pull
  11. Git使用 从入门到入土 收藏吃灰系列 (十一) 下载所有远程仓库分支
  12. Git使用 从入门到入土 收藏吃灰系列 (十二) git merge 与 git rebase
  13. Git使用 从入门到入土 收藏吃灰系列 (十三) git stash、git check-pick、git tag、git diff
  14. Git使用 从入门到入土 收藏吃灰系列 (十四) 清除git仓库的所有提交记录
  15. Git使用 从入门到入土 收藏吃灰系列 (十五) 自定义Git命令
  16. Git使用 (十六) Github上的小按钮
  17. Git使用 (十七) 解决Git Bash中文乱码

你可能感兴趣的:(Git,&,原理,&,指令,学习,git,github)