git init
创建.git子目录 ,该目录为本地仓库
git clone url
拷贝远程仓库的项目到本地仓库
ls (-a)
查看当前目录下的可见文件,-a时显示所有文件
git branch 分支名(创建分支)
git checkout 分支名
切换分支,其中git checkout -- filename 撤销工作区的修改
git checkout -b 分支名 / git switch -c 分支名(创建并切换分支)
git branch -d 分支名(删除分支)
git add 文件名/目录名
将文件或目录交到暂存区
git status (-s)
查看自上次提交之后文件的变动情况,加-s可看到简短的输出
git commit ([filename]) -m [message]
提交文件到本地仓库,本地分支分析与远程分支的差异,将其提交到远程分支,实现更新
git log
查看提交历史,可选参数:--after查看某个日期之后的提交历史,--author=修改者名字,--before什么日期之前的提交历史,--pretty=oneline简短输出,--graph 输出合并历史情况
输入Q退出
git rm 文件名
把文件从工作区和暂存区删除,删除的前提为git add该文件,不然git无法对其进行管理
git rm filename --cached
只将该文件从暂存区删除,工作区保留
git rm filename -f
强制删除文件
git push 远程主机名 本地分支名(程分支名)
若本地分支名和远程分支名相同,则 git push 远程主机名 分支名
git reset --hard HEAD^
回退到上一个版本,HEAD^^回退到上上个版本,以此类推,也可以采用简单的表示:
HEAD~n(n为回退多少步)
HEAD处可以替换为具体commit id的前几位
git reset HEAD filename 使暂存区的文件回退到工作区,会使工作区相应的文件发生修改
git reflog
查看之前执行过的命令
git stash
缓存当前尚未add的工作内容
git stash list 查看当前分支已缓存的工作列表
git stash apply stash@{num} 恢复先前工作
git stash drop stash @{num} 删除缓存列表的某项
git stash pop 上面两条的功能合并
git tag tagname (commit id)
为最新的commit添加标签
git tag 查看全部标签
git show tagname 查看某个标签的信息
git rebase 分支名
将当前分支复制移动到目标分支前面,使目标分支在直观上更加线性