git常用命令总结

155 阅读3分钟

1.全局配置 (name email)

git config --global user.name "xxx"
git config user.name
git config --global user.email "xxx@xxx.com"
git config user.email

2.查看 branch tag

查看本地分支:
git branch 
git tag
查看远程分支:
git branch -r 
查看所有分支:
git branch -a

3.新建 branch tag

新建本地分支
git branch <branchName>
git tag <tagName>
切换本地分支
git checkout <branchName>
远程拉取一条本地不存在的分支并关联
git checkout -b <localBranchName> origin/<branchName>
将本地 推送到远程
git push origin <branchName>:<branchName>
git push origin <tagName>

4.删除 branch tag

删除本地分支
git branch -D <branchName>
删除远程分支
git branch -d origin/<branchName>删除分支
git branch --delete --remotes <remote>/<branch> 删除远程链接
git push origin :<branchName> push删除    
或者
git push origin --delete <branchName> 执行上面三步
删除本地tag
git tag -d <tagName>
删除远程tag
git push origin :refs/tags/<tagName> 或者
git push origin --delete <tagName>

5.关联远程分支

git branch --set-upstream-to origin/<branchName> 或者
git branch -u origin/<branchName>
撤销本地分支与远程分支的映射关系
git branch --unset-upstream

6.合并代码

直接提交合并
git merge 4.76dev
暂存未直接提交合并
git merge --squash branchname

7.代码提交

git add <name>
git commit -m <feat:xxxx>
feat:新功能,fix:修补bug,
refactor:功能重构,perf:性能优化,
docs:文档修改,revert:撤销上一次commit
git push
git rm <name>
切换分支不回退 /查看
git stash 或 git stash push /git stash list
重新启用 / 启用旧版本
git stash apply  git stash apply stash@{2}

8.代码撤回

丢弃工作区的修改
git checkout -- xx.txt
git checkout ./
撤销commit重新放回工作区
git reset --soft HEAD^1  //注意:unix
git reset --soft HEAD~1  //windows的bash 后面的1是次数
把HEAD指向最新下载的版本
git reset --hard origin/master
git reset --hard "版本库地址"(git log中commit)

git reset --mixed HEAD~1
将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,
不影响原来本地文件(未提交的也不受影响)
git reset --soft HEAD~1
git reset --soft 19462f6f46...  回退到某个版本
不清空暂存区,将已提交的内容恢复到暂存区,
不影响原来本地的文件(未提交的也不受影响)
git reset --hard HEAD~1
清空暂存区,将已提交的内容的版本恢复到本地,
本地的文件也将被恢复的版本替换

9.子模块

git submodule init
git submodule update
git submodule update --init --recursive
查找提交
git grep '测试'

添加子模块
git submodule add <url> <path>

删除子模块
rm -rf <子模块目录>
vi .gitmodules 删除相关条目
vi .git/config 删除配置相关条目
rm .git/module/* 删除子目录

10.差异

git pull(自动merge)
git featch(拉取版本不会自动merge)
git status 文件状态

11.概念

working directory(代码仓库)
staged snapshot(快照:add的缓存库)
commit history(commit历史)

12.忽略文件

..\projectName\.git\info\exclude文件   git忽略文件

13编辑命令

vim .bashrc

14执行步骤

第一步  (下载项目)
git clone git@gitlab.xxxxxxxx.git

如果本地新建项目
初始化:创建一个git仓库生成.git文件
git init


工作
第一步:查看当前git仓库状态,查看哪些文件修改
git status

第二步:把修改的代码添加到暂存区
git add *

删除文件
git rm filename


第三步:将暂存区的更新提交到仓库区。
git commit -m "跟新说明"

第四步:拉取远程仓库所有分支更新并合并到本地。
git pull

第五步:将本地分支的更新全部推送到远程仓库。
git push origin master