看书笔记:Git的一些常用操作

检查电脑有没有安装git

git –-version

有安装的就会打印 git 的版本信息
git版本信息
创建文件夹

mkdir <filename>

进入文件夹

cd <filename>

初始化仓库

git init

创建文件

touch <filename>

查看本地仓库的状态

git status

查看本地仓库的修改

git diff #看当前工作树和暂存区的差别
git diff <filename> #看指定文件当前工作树和暂存区的差别
git diff HEAD #查看本次提交和上次提交的差别,这里的 HEAD 是指向当前分支中最新一次提交的指针。

打印出来的:+是新增的行,-是删除的行

还原上一次同步状态

git checkout . #还原所有文件上一次的同步状态
git checkout <filename> #还原文件 <filename> 上一次的同步状态

把代码放到暂存区

git add . #所有文件放到暂存区
git add <filename> #把文件 <filename> 放到暂存区

把暂存区的代码提交上去

git commit -m "简要提交信息"
git commit -am "简要提交信息" #等于 git add 加上 git commit
git commit --amend #修改上一次的提交信息

如果想要详细的记录提交信息,就不要加上-m,直接执行 git commit 就会出现下面的界面,按下 i 进行编辑
输入git commit后出现的界面
提交备注可以按照下面的来写
第一行:用一行文字简述提交的更改内容
第二行:空行
第三行:记述更改的原因和详细内容

编辑完成后按 esc 退出编辑,输入 :wq 保存并退出

查看提交日志

git log #详细信息,只能查看以当前状态为终点的历史日志
git reflog #查看当前仓库的操作日志,可以在日志中找到哈希值
git log –pretty=short #简要的一行描述信息
git log --graph #以路线图形式查看操作日志
git log --oneline #以简洁单行的形式查看操作日志
git log --oneline --graph #以路线图形式查看操作日志,只显示简要信息
git log --pretty=oneline --graph #跟上面一句的效果一样
git log <filename> #查看指定文件的日志
git log -p #查看文件的改动
git log -p <filename> #查看指定文件的改动
git log –-author='username' #查看指定作者的提交日志
git show <hash> #查看提交的详细内容

如果日志太长会显示 :(冒号),按回车可以继续查看,退出查看可以按 q

提交错误后的更正

git rebase -i HEAD~2 #更正前两次的提交历史

更正提交
把最终需要的那条的 pick 改成 fixup 就可以更正了

版本的回溯

git reset HEAD <filename> #回溯到上一次指定文件的提交
git reset --hard HEAD^ #回溯到上个版本,^^上上个版本
git reset --hard <hash> #回溯历史版本 hash,hash 的值可以通过 git log 查看
git checkout <hash> <filename> #指定文件的版本回退

分支的查看

git branch #显示分支,带有*星号的是当前所在的分支
git branch -a #同时显示本地仓库和远程仓库的分支信息
git branch -av #显示分支信息及提交信息

分支的创建和切换

git branch <branchname> #创建分支 <branchname>
git checkout <branchname> #切换到分支 <branchname>
git checkout - #切换回上一个分支
git checkout -b <branchname> #创建并切换分支。等同于 git branch <branchname> 加上 git checkout <branchname>

分支的删除

git branch -d <branchname> #删除分支
git branch -D <branchname> #强制删除分支
git push origin –-delete <name> #删除远程仓库的分支

合并分支

git merge <branchname> #合并分支
git merge --no-ff <branchname> #加上--no-ff参数,创建合并提交

如果出现了冲突,解决之后要重新 git add

本地仓库关联远程仓库

git remote add origin <ssh> #ssh是远程仓库的地址

推送代码到远程仓库

git push #推送代码
git push origin <branchname> #推送到远程仓库的指定分支上
git push -u origin <branchname> #推送到远程仓库,-u参数可以在推送的同时将指定分支设置为本地仓库当前分支的upstream

同步远程仓库代码

git pull #拉取最新代码
git pull origin <branchname> #从远程仓库的指定分支拉取最新代码
git checkout -b <branchname> origin/<branchname> #从 origin 仓库里的指定分支拉取下来至本地新建分支

拉取远程仓库

git fetch #从远程仓库实际获取(fetch)最新源代码,与自己仓库的合并

克隆远程仓库代码

git clone <ssh> #克隆到本地
git clone <ssh> <rename> #克隆并指定命名

标签的使用

git tag #查看标签
git tag <tagName> #创建标签
git tag -d <tagName> #删除标签
git tag <tagName> <hash> #创建标签到指定的提交上
git push origin <tagName> #推送指定标签的代码到远程

标签默认添加在最新一次的提交上

本地仓库的文件操作

git rm <filename> #删除文件
git mv <oldFilename> <newFilename> #文件重命名
git mv <filename> <path/filename> #移动文件
git mv <filename> <path/newFilename> #移动并重命名

书籍:《GitHub入门与实践》

猜你喜欢

转载自blog.csdn.net/qq_37992222/article/details/112255382