git基础命令

git init 初始化一个仓库
git init (dirName) 指定目录为dirName

git clone /path/to/repository 创建一个本地仓库的克隆版本,会有一个名为origin的远端连接,指向你克隆的仓库
git add 添加指定文件到暂存区
git add . 添加当前目录所有文件到暂存区

git -commit -m ‘代码提交信息’ 提交到本地仓库
一般第一次提交的话,提交信息为init commit
git commit --amend 将缓存的修改和之前的提交合并到一起

git remote add origin <仓库名> /path/to/repository 添加远程仓库
git push origin <仓库名> master(提交的分支) 提交到远程仓库

git branch 查看所有的分支
git branch (分支名字) 创建新的分支

git status 显示工作目录和缓存区的状态git restore --staged * 取消缓存区所有文件的缓存
git restore --staged (文件名) 取消缓存区某个文件的缓存

git log 显示已经commit的快照
git log -n (限制数量a) 显示最近a次的commit

git revert 通过一个新提交,撤销某一个提交引入的新修改(所以被撤销的那个版本还是能看到的!)

git reset 重设缓存区git reset 从缓存区移除某个文件
git reset --hard 重设缓存区和工作区,直接回归到最近的一次提交
git reset 将当前分支末端移动到(往后的全没了),工作区依旧保持原来的模样,缓存区重设到
git reset --hard 缓存区和工作区无一幸免,都重设到,当前分至末端指向,往后的全部消失
跟别人合作的项目 绝对不能用reset!!!

git clean -n 演戏,告诉你如果执行git clean -f会删除什么文件
git clean -f 删除当前目录下未被跟踪的文件(不会删除.gitignore中指定的文件)

git clean -df 删除未跟踪的文件和目录
git clean -xf 删除未被跟踪的文件(包括git一般忽略的)

毁尸灭迹combo git reset --hard和git clean -f

git rebase 将目前所在结点的整个分叉移动到base结点之后
git rebase -i 交互版本的rebase,提供更多的选择

git reflog 查看引用日志

git remote 获取所有可用的远程仓库git remote -v 显示所有的远程仓库及其URL
git fetch 拉取仓库中所有分支,同时会下载所有的提取和分支
git fetch 拉取远程仓库中的指定分支

git switch -c <新的分支名字> 给处于游离状态的分支取一个名字

pull request 不是命令,是一个功能具体流程:clone下来别人的仓库,创建新的分支newFeature然后开发新功能
功能开发完毕,将分支newFeature push到自己的仓库
到别人的仓库那里发送pull request(源仓库,源分支,目标仓库,目标分支)

git branch 列出仓库中所有分支
git branch 创建新的分支
git branch -d 删除某个分支(如果未合并会提醒你)
git branch -D 强制删除某个分支
git branch -m 将当前分支重新命名

git checkout --files 将文件从stage缓存复制到工作目录,丢弃本地修改

posted @ 2020-12-02 19:53  梨子的离  阅读(68)  评论(0)    收藏  举报