常见的git操作命令,非常有用但是并不很熟练的一些命令,工作生活中经常用到git,但是很多时候只会使用pull push add commit命令,因此分享一些最近在学习的命令
请确保已经安装了git客户端
简略的代码提交到GitHub
git add .
git commit -m "message"
git pull
git push
一般配置
git --version //查看当前git版本
git config --global user.name //获取当前登录的用户
git config --global user.email //获取当前登录用户的邮箱
登录git
如果刚才没有获取到用户配置,则只能拉取代码,不能修改
git config --global user.name 'userName'
git config --global user.email 'email'
使用git的三种方式
使用git有三种方式,请按照你的需求选择
1.只在本地使用
2.将本地仓库上传到GitHub
3.下载GitHub上的仓库
git的使用
初始化
mkdir git-demo //创建目录作为我们的项目目录
cd git-demo //进入目录
git init //会在git-demo里创建一个.git目录
ls -la //会看到.git目录,他就是一个仓库,不要点进去看,这仓库有毒
touch index.html
mkdir css
touch css/style.css //添加两个文件,index.html和css/style.cssgit add index.html
git add css/style.css //将一个一个变动文件add到「暂存区」
or
git add . //把当前目录(.表示当前目录)里面的变动都加到「暂存区」git commit -m "信息" //将你 add 过的内容「正式提交」到本地仓库,并添加一些注释信息,方便日后查阅
git status -sb // 发现没有文件变动了,这是因为文件的变动已经记录在仓库里了
git log //这时可以看到历史上的变动
git pull //拉取远程仓库的代码
git push //将本地仓库push到远程仓库
以上就是一次完整过程
git status //查看当前状态,可看到所有文件的修改变动
git diff //直观查看修改的内容
git rm -rf 文件名 // 删除某文件
git reset --hard HEAD //会把所有未提交的变动(代码/文件/目录)直接删除
配置
git config -e //编辑git配置文件
增加/删除文件
git add -p //添加每个变化前,都会要求确认,对于同一个文件的多处变化,可以实现分次提交
git rm --cached [file] //停止追踪指定文件,但该文件会保留在工作区
git mv [file-original] [file-renamed] //改名文件,并且将这个改名放入暂存区
代码提交
git commit -v //提交时显示所有diff信息
git commit --amend -m [message] //使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来改写上一次commit的提交信息
git commit --amend [file1] [file2] ... //重做上一次commit,并包括指定文件的新变化
分支
commit git branch [branch] [commit] //新建一个分支,指向指定
git cherry-pick [commit] //选择一个commit,合并进当前分支
git push origin --delete [branch-name] git branch -dr [remote/branch] //删除远程分支
撤销
git checkout [commit] [file] // 恢复某个commit的指定文件到暂存区和工作区
git reset [file] //重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset --hard //重置暂存区与工作区,与上一次commit保持一致
git reset [commit] //重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
git reset --hard [commit_id] //回滚到指定的commit_id版本
git reset --keep [commit] //重置当前HEAD为指定commit,但保持暂存区和工作区不变
git revert [commit] //新建一个commit,用来撤销指定commit 后者的所有变化都将被前者抵消,并且应用到当前分支
查看信息
git log //显示当前分支的版本历史
git log --stat //显示commit历史,以及每次commit发生变更的文件
git log -S [keyword] //搜索提交历史,根据关键词
git log [tag] HEAD --pretty=format:%s //显示某个commit之后的所有变动,每个commit占据一行
git log [tag] HEAD --grep feature //显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件
git log --follow [file] git whatchanged [file] //显示某个文件的版本历史,包括文件改名
diff git log -p [file] //显示指定文件相关的每一次
git log -5 --pretty --oneline //显示过去5次提交
git shortlog -sn //显示所有提交过的用户,按提交次数排序
git blame [file] //显示指定文件是什么人在什么时间修改过