初始化本地git库:
git init
添加远程仓库origin:
git remote add origin https://github.com/hyhweb/git-test.git
关联远程分支之后一般都要拉取分支:
git pull origin master
切换分支:
git checkout origin/dev
查看修改状态:
git status
添加文件到缓存区:
git add .
git add 文件名
撤销工作区的文件更改:
git checkout -- 文件名
撤销提交到缓存区的文件:
git reset HEAD 文件名
撤销最近一次提交到缓存区的文件:
git reset HEAD^
把缓存区的文件提交到分支:
git commit -m "code"
查看提交的日志:
git log
查看前几条日志,例如查看前2条日志
git log -2
备注:ctrl+c退出查看日志
撤销commit提交,保留代码的修改:
git reset --soft HEAD^
HEAD^最近一次
HEAD^^最近两次
查看本地分支:
git branch
新增一个本地分支
git branch test
切换本地分支:
git checkout test
创建和切换本地分支:
git checkout -b prod
拉取分支最新版本:
git pull
推送分支到远程仓库:
git push -u origin test
查看远程分支的远程地址信息:
git remote -v
查看远程分支的全部信息(远程地址和远程分支,本地分支等)
git remote show origin
删除远程分支:
git push origin --delete prod
获取远程分支,但不更新本地代码,需要 git merge 来合并
git fetch 》 git merge
添加和提交文件的操作:
git commit -am "commit"
备注:相当于git add 和git commit 的操作
查看工作区的文件改动的内容(git add之后,此命令查看不了):
git diff
查看缓存区的文件改动的内容(git add之后,此命令还可以查看了):
git diff HEAD
查看前几次的改动内容:
git diff HEAD -2
克隆拉取远程分支:
git clone https://github.com/hyhweb/git-test.git
查看历史操作的命令:
git reflog
撤销修改
撤销文件在工作区的修改:
git checkout -- 文件名
撤销文件在缓冲区的修改(执行git add后,文件就放到了缓存区):
git reset HEAD 文件名
eg:
git reset HEAD show
reset操作命令的几个参数说明:
--mixed
不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
--soft
不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
--hard
删除工作空间改动代码,撤销commit,撤销git add .
git revert 命令的含义
git revert commitId
eg:
使用“git revert -n 版本号”反做,并使用“git commit -m 版本名”提交
git revert -n 4d21
注意: 如果后面的版本的改动与这个版本的改动有相同的文件,会出现冲突,那么需要手动修改冲突的文件。而且要git add 文件名。
(2)提交,使用“git commit -m 版本名”,如:
git commit -m "revert add text.txt"
拉取远程分支
拉取远程的dev分支,而不是拉取默认的master分支:
git checkout -b dev origin/dev
删除分支命令
删除本地分支命令:
git branch -d dev
删除远程分支命令:
git push origin --delete dev
当前工作现场“储藏”
把当前工作区的修改储存起来:
git stash
查看存储的列表:
git stash list
恢复最近一次储存的数据到工作区:
git stash apply
恢复指定的储存到工作区:
先查看stash的列表 git stash list,
选择对应的存储进行恢复:git stash apply stash@{0}
删除储存:
git stash stop 删除最近一次的存储
git stash stash@{2} 删除指定的存储
恢复最近一次存储到工作区并在stash列表中删除存储:
git stash pop
tag标签相关操作
git 提交打标签tag:
git tag version@version@1.0.0
查看标签tag:
git tag
在某次提交commits上打标签:
git tag version@0.9 6fa1a0d
查看commitid:
git log --pretty=oneline --abbrev-commit
查看标签tag信息:
git show version@0.9
对某次提交打标签并写注解:
git tag -a version@0.1 -m "version@0.1 bug1" 86de1f8
删除标签:
git tag -d version1.0
把标签推送到远程分支:
git push origin version1.0.0
把所有本地tag推送到远程分支:
git push origin --tags
删除远程分支的tag:
先删除本地的标签 git tag -d version@0.1
再推送到远程分支 git push origin :refs/tags/version@0.1
管理多个远程库:
先删除原来的origin远程库 git remote rm origin
添加两个不同的远程库
git remote add gitee git@gitee.com:hyhshy/test.git
git remote add github https://github.com/hyhweb/git-test.git
如果两个远程库的提交的日志不一致,拉取的时候会报错:fatal: refusing to merge unrelated histories
解决方案:git pull gitee master --allow-unrelated-histories
第一次推送到两个远程不同分支:
git push -u gitee master
git push -u github master
查看配置信息:
查看系统system的配置信息:
git config --system --list
查看全局global的配置信息:
git config --global --list
查看本地local的配置信息:
git config --local --list
设置全局global的配置信息:
git config --global user.name ``"hyhweb"
git config --global user.email ``"hyhweb@qq.com"
git 命令速查表:https://www.w3cschool.cn/git/git-cheat-sheet.html
如果对您有帮助,请点个赞,谢谢。