文章目录
哈喽!大家好,我是【小张同学】,一位上进心十足的博主!
✨【小张同学】的写作风格:喜欢用【通俗易懂】的文笔去讲解每一个知识点,而不喜欢用【高大上】的官方陈述。
✨【小张同学】博客的主要是自己学习过程中的笔记与心得
✨欢迎关注【小张同学】
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
一、前言二、常用的命令
一、前言参考安装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不可以用。
2.2常用的git命令cd 改变目录cd . . 回退到上一个目录,直接cd进入默认目录start <文件名> 打开文件cat <文件名> 在命令窗口显示文件内容vim <文件名> 在命令窗口编辑文件 按“Esc“ 输入“:wq”保存文件 ”:e!"放弃更改pwd 显示当前所在的目录路径ls(ll) 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细touch 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件rm 删除一个文件, rm index.js 就会把index.js文件删除。mkdir 新建一个目录,就是新建一个文件夹rm -r 删除一个文件夹, rm -r src 删除src目录 rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!mv 移动文件, mv index.html src,index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标 文 件夹在同一目录下reset 重新初始化终端/清屏。clear 清屏history 查看命令历史help 帮助exit 退出‘#’ 表示注释
结合图片记忆基本的命令!
通常提交一个记录只需要依次执行git add .,git commit,git push。 *** 作都是对当前分支有效,加origin就可以指定分支。
# 添加所有文件到暂存区 git add . # 添加指定文件到暂存区 git add# 提交暂存区中的内容到本地仓库 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 # 指定分支
其它常用命令
# 克隆 git clone #查看所有文件状态 git status #查看指定文件状态 git status# 列出所有本地分支 git branch # 列出所有远程分支 git branch -r # 新建一个分支,但依然停留在当前分支 git branch # 新建一个分支,并切换到该分支 git checkout -b # 切换到别的分支/记录 git checkout # 合并指定分支到当前分支 git merge # 合并远程分支到当前分支 git merge origin <远程分支> # 删除分支 git branch -d # 删除远程分支 git push origin --delete git branch -dr # 变基 按提交顺序合并指定分支到当前分支 git rebase # 变基 整合到一条 git rebase -i <哈希值> git rebase HEAD~数字 #从当前记录到前x个记录合并 # 将添加到暂存区的文件移出 git reset # 恢复已删除的文件 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# 指定文件 # 显示暂存区(已add但未commit文件)和最后一次commit(HEAD)之间的所有不相同文件的增删改 git diff --cached git diff --staged # 比较暂存区和工作区最后一次提交的差别 git diff HEAD git diff HEAD # 指定文件 git diff <哈希值> # 指定某一次提交 # 查看最近一次提交的版本与往过去时间线前数X个的版本之间的所有同git diff HEAD中定义文件之间的增删改 git diff HEAD~X git diff HEAD^^^…(后面有X个^符号,X为正整数) # 比较两个分支上最后 commit 的内容的差别 git diff git diff #比较远程分支与本地分支 git diff --stat # 显示简略内容
git tag用来建立标签
# 创建本地tag git taggit tag -a -m "XXX..." # 指定标签信息 # 推送到远程仓库 git push origin # 本地有多条tag,一次推送全部 git push origin --tags # 切换标签 切换后,分支置空 git checkout # 查看本地某个 tag 的详细信息 git show # 查看本地所有 tag git tag git tag -l # 查看远程所有 tag git ls-remote --tags origin # 本地 tag 的删除 git tag -d # 远程 tag 的删除 git push origin
下期介绍Git的工作原理:工作区,暂存区,本地仓库,远程仓库
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)