Git常用命令
一、git init
创建一个空的本地仓库或者重新初始化一个已经存在的仓库
二、git clone
克隆远程仓库到本地目录
git clone 地址 文件夹
三、git remote
管理相关的远程仓库
在本地关联一个远程仓库:git remote add 名称 地址
查看详细信息:git remote -v
重命名:git remote rename 原名称 修改后名称
删除:git remote remove 名称
四、git status
显示工作区域的状态
建立跟踪/工作区提交到暂存区:git add hello.py
撤出暂存区:git reset HEAD 文件
从暂存区提交到本地:git commit -m 'add message line 1' hello.py
提交到远程仓库:git push
五、git log
记录提交日志
六、git reflog
记录所有分支的所有操作,只存在于使用者的本地仓库,不会与远程仓库同步
切换到其他分支:git checkout -b branch2
查看分支:git branch
七、git config
修改log中的用户名:git config --add user.name 用户名
修改log中的email:git config --add user.email 邮箱地址
查看:git config -e
八、git diff
显示不同提交,不同工作区域,不同分支之间的差别
git diff
上述代码默认显示工作区与暂存区之间的差别
git diff --cached
git diff --staged
上述两行代码的作用一样,均为对比暂存区与本地仓库之间的差别
// git diff 6bff03ad29297e1e 0c1f158f3a77ac43
比较两次提交中的差别
git diff branch2 master
比较两个分支的差别
九、git add
工作区提交到暂存区
十、git commit
暂存区提交到本地仓库
十一、git push
将本地仓库的内容推送到远程仓库
将分支branch2设置为追踪来自origin的远程分支branch2 git push -u origin branch2
十二、git fetch
拉取远程仓库到本地仓库
十三、git merge
合并分支
取消合并:git merge --abort
十四、git pull
拉取远程仓库到本地仓库并合并到本地分支(git fetch + git merge)
十五、git checkout
检出分支或撤销文件
查看分支和当前分支:git branch
新建分支:git branch 新分支名
删除分支:git branch -d 分支名
查看分支详细信息:git branch -v
创建分支并切换到该分支:git checkout -b 新分支名
切换到某个分支:git checkout 分支名
还原工作区文件到本地仓库的状态:git checkout -- hello.py
还原文件到某一版本:git checkout 版本号 hello.py
恢复到上一次提交:git checkout HEAD~ hello.py
十六、git reset
重置HEAD到指定的状态
将本地仓库上一次提交的内容复制到暂存区:git reset --mixed HEAD~
git reset HEAD~
将本地仓库上一次提交的内容复制到暂存区和工作区:git reset --hard HEAD~
上述操作将删除log中还原版本后进行的commit操作,log中将无法看到。推荐使用git revert
将本地仓库的指针指向上一次提交:git reset --soft HEAD~
十七、git revert
撤销一些已经存在的提交git revert 版本号
十八、git cherry-pick
用于将某次提交的内容合并到当前分支
十九、git rebase
用于将一个分支的修改合并到当前分支