一、Git 的日常使用
一、 git 的基本操作
关于仓库
git clone + 你要拷贝的项目地址 拷贝一个Git仓库到本地,取得项目的git仓库
默认的Username:yourname
默认的Password:123456
需要cd到项目文件中才可以进行基本的git操作!
常用的命令
git status 查看当前的状态,建议新手期进行操作之后加上此代码避免出错
git branch 查看所有分支
git switch 分支的切换
增加/删除文件
git add . 添加当前目录的所有文件到暂存区
git add [file1] [file2] 添加指定文件到暂存区
git add [dir] 添加指定目录到暂存区,包括子目录
代码提交
git commit -m [message] 提交暂存区到仓库区
git commit [file1] [file2] … -m [message] 提交暂存区的指定文件到仓库区
git commit -v 提交时显示所有diff信息
git commit --amend -m [message] 使用一次新的commit,替代上一次提交,如果代码没有任何的新变化,则用来改写上一次commit的提交信息
分支
git branch -a 列出所有本地分支和远程分支
git branch [branch-name] 新建一个分支,但依然停留在当前分支
git checkout -b [branch] 新建一个分支,并且切换到该分支
git merge [branch] 合并指定分支到当前分支
git merge --abort 取消合并
git branch -d [branch-name] 删除分支
git branch -d [branch-name] 删除远程分支
git cherry-pick [commit] 选择一个commit,合并到当前分支
查看信息
git config --list 显示当前的git配置
git status -s 显示有变更的文件
git log 显示当前分支的版本历史
git log --stat 显示commit历史,以及每次commit发生变更的文件
git diff 显示暂存区和工作区的差异
git diff HEAD 显示工作区与当前最新commit之间的差异
远程同步
git fetch [remote] 下载远程仓库的所有变动
git remote -v 显示所有远程仓库
git remote show [remote] 显示某个远程仓库的信息
git pull [remote] [branch] 取回远程仓库的变化,并于本地分支合并
git push [remote] [branch] 推送本地分支变化
git pull --rebase [remote-name] [branch] --rebase的作用是取消本地库中的commit,并且连接到新版本库中
撤销
git checkout [file] 恢复暂存区的指定文件到工作区
git checkout [commit] [file] 恢复某个commit的指定文件到暂存区到工作区
git checkout . 恢复暂存区的所有文件到工作区
git reset [file] 重置暂存区与工作区,与上一次commit保持一致,但工作区不变
git reset --hard 重置暂存区与工作区,与上一次commit保持一致
git reset [commit] 重置当前分支的指针为制定commit,同时重置暂存区,但工作区不变
git stash 暂时将未提交的变化移除,稍后再移入
二、 git的最日常用操作
1. git init 在文件夹下初始化git仓库
2. git clone + 地址 拷贝远程仓库
3. git pull origin + 分支名 拉取远程仓库代码到本地仓库 ⭐️
4. git add + 文件 将文件添加到暂存区 ⭐️
5. git commit -m “在此处填写改动说明” 提交命令 ⭐️
6. git push origin + 分支名 上传改动到远程仓库 ⭐️
三、 部分特定场景需要的重要操作
如果想要记录工作目录和索引的当前状态,但又想返回一个干净的工作目录时,使用 git stash。该命令将保存本地修改,并恢复工作目录以匹配头部提交。当有文件更改的时候是不可以切换到 master 分支上的,需要提交commit保持工作区干净才能切分支。
git stash //暂存代码
git stash apply //修复完线上问题,切回分支,恢复代码
相关代码
// 保存当前未commit的代码
git stash
// 保存当前未commit的代码并添加备注
git stash save "备注的内容"
// 列出stash的所有记录
git stash list
// 删除stash的所有记录
git stash clear
// 应用最近一次的stash
git stash apply
// 应用最近一次的stash,随后删除该记录
git stash pop
// 删除最近的一次stash
git stash drop