Git 基本配置及常用命令
更新日期:
文章目录
基础配置
git config user.name xxxgit config --global user.name xxxgit config --system user.name xxx
忽略不同系统下的空格(^M)
- window 换行符 \r\n
- Linux 换行符 \n
git config --global core.autocrlf true
设置命令别名
git config --global alias.lg "log --graph--oneline--decorate"
命令输入中开启颜色显示
git config --global color.ui true
查看状态 status
git statusgit show <commit>显示此次修改的内容等信息git whatchanged HEAD^..HEAD比较两次提交之间有什么修改的文件
add 提交到缓存区
git add .git add <file>git add -u-u 把工作区中删除的文件添加到缓存区
提交缓存区中的文件到本地版本库
git commit -m "comments"git commit -amend修改上次提交的注释git commit -a对本地所有变更的文件执行提交操作,减少 git add 的操作
查看版本库的提交日志
git log --pretty=fuller显示提交的一些详细信息git log --stat每次提交的文件变更统计git log --oneline在一行显示提交日志git log --pretty=row显示提交的父节点和 treegit log --graph显示提交 tree 跟踪链条git log --p显示修改详情git log --decorate master dev显示分支标记
查看分支
git branch
对比文件区别
git diff比较工作区和缓存区的区别git diff HEAD比较工作区和版本库的区别git diff --cached比较缓存区和版本库的区别
重置
git reset --hard <commit>替换引用的指向到指定提交,同时改变缓存区和工作区内容git reset --hard <file>将 file 的改动撤出缓存区,相当于对 add 命令的反操作
检出
git checkout -- <file>用缓存区指定的文件替换工作区文件git checkout -- .用缓存区所有文件替换工作区文件git checkout HEAD用 HEAD 指向的分支的所有文件替换暂缓区和工作区文件git checkout <branch-name>切换分支git clean -fd清除当前工作区中没有加入版本库中的文件和目录
提交
git push origin origin/branch-name:branch-name从远程的一个分支提交到另外一个远程分支git push origin <空>:branch-name删除一个远程分支
cherry-pick
git cherry-pick <commit> 把一个分支 commit 修改的内容应用到当前分支
使用 git cherry-pick 和 git reflog 可以找回 git reset 删除的点