Git命令
Git基本结构
Git基本命令
git add
-p 分步add
.
:add所有文件
git checkout
git checkout HEAD -- <filename>
:将filename恢复到最近的一次提交的状态
git checkout HEAD~2-- <filename>
:将filename恢复到倒数第二次提交的状态
git revert
revert前
revert后
git revert <version>
作用
反做,去除掉版本version
的修改,但仍保留之后的修改
案例
例如,提交了版本1,版本2,版本3,版本4.现在版本2不好,不要版本2的代码了,但是仍需要版本3个版本4的。
则使用git revert 版本4Id
git log
–oneline
作用
将日志一行一行显示,只显示提交ID和message
–oneline --decorate
显示当前分支信息
git log --oneline --decorate --all
显示所有分支信息
–graph
以树的形式显示
–author=
指定具体的作者
–authot=‘dd’
–grep=
–grep=‘index.html’
所有的提交都包括index.html
–before=
–before=‘2021-5-6’
显示2021年5月6日之前的所有提交
–before=‘1 week’
显示一周前的提交
–before=‘3 days’
显示3天前的提交
git reflog
查看HEAD历史记录
git reset
–soft
作用:
只移动 HEAD 到指定的 commit,但保留原先暂存区和工作目录的内容,同时会将指定 commit 之后提交的内容设置到暂存区中
不会影响workspace和staging中的代码
撤销commit
–hard <filename>
作用
在重置HEAD和branch时,会把workspace和staging重置同样重置,也就是说没有commit的代码将会被全部抹除
回退
–mixed(默认)
作用
同 git reset
会把staging重置到指定提交的状态,并把指针指向这个提交,本地工作目录空间不变
撤销add
git reset --hard HEAD~
同 git reset
git reset --hard <history>
作用
重置到history版本,workspace和staing都会被清空
git diff
比较workspace和staging
–staged、–cached
比较staging和Local Repository
git diff master…mobile-feature <filename>
作用
比较两个分支的不同
git stash
save <message>
保存工作进度,可随时取出
list
查看保存的stash
show -p < stash@{0} >
显示 < stash@{0} >与workspace的不同
apply < stash@{0} >
恢复工作进度,但是不删除stash
pop < stash@{0} >
恢复工作进度,并且删除stash
drop < stash@{0} >
删除工作进度
git restore
git restore指令使得在工作空间但是不在暂存区的文件撤销更改(内容恢复到没修改之前的状态)
等同于git checkout
–staged
git restore --staged的作用是将暂存区的文件从暂存区撤出,但不会更改文件的内容。
等同于 git reset --mixed
git alias
设置git别名
git config --global alias.co checkout
将checkout命令设置为co
git co == git checkout
git bash设置短命令
在Git/etc/profile下设置,添加
alias g=‘git’
alias gcm=‘git commit -m’
alias gcam=‘git commit -a -m’
alias gco=‘git checkout’
alias gd=‘git diff’
alias gl=‘git pull’
alias gp=‘git push’
alias gst=‘git status’
alias gm=‘git merge’
Mac设置短命令
创建该文件时一般都会选择在当前用户目录下,即Mac下的.bash_profile 文件的路径是 /Users/YourMacUserName/.bash_profile
cd ~
可直接到/Users/YourMacUserName/目录下
touch .bash_profile
创建文件
- alias pl=“git pull”
- alias ps=“git push”
- alias ad=“git add”
- alias cm=“git commit -m”
- alias st=“git status”
- alias dev=“npm run dev”
- alias build=“npm run build”
保存之后重新打开terminal或者执行
source ~/.bash_profile
Git 分支
git status
作用
查看当前分支
git branch
作用
查看所有分支
git branch <branch_name>
创建分支
-m
重命名分支
-d
删除分支
-r
查看远程分支
git checkout <branch_name>
作用
切换分支
git merge
git merge <brance1> <brance2>
作用
合并两个分支
git conflict
HEAD到======之间的为当前的内容
======到master为另一个内容
Git远程
git remote
git remote add <name> <url>
为项目添加远程库
git remote add origin https:/ /wwddddd
-v
显示远程的详细信息
rm <name>
移除远程
git remote rm origin
git push
-u origin master
-u:根据远程分支的变化
将master分支推送到远程
git clone
git clone <url> <filename>
克隆并重命名