git命令

1. git安装后-指定名称和邮箱

$ git config --global user.name "Your Name"
 
$ git config --global user.email "email@example.com"

2. 创建版本库

$ mkdir learngit	//创建
$ cd learngit	//使用
$ pwd	//查看当前目录
$ git init	//初始化,生成.git文件(若该文件隐藏,则使用ls -ah)

3. 文件添加add和提交commit到版本库

$ git add test.txt	//添加
$ git commit -m "wrote a test file"	//提交
$ git commit -m "add 3 files."		//一次性提交多个文件

4. 版本控制

$ git log	//查看提交历史记录,从最近到最远,可以看到3次
$ git log --pretty=oneline	//加参,简洁查看
$ git reflog	//查看每一次修改历史
$ cat test.txt	//查看文件内容
$ git status	//查看工作区中文件当前状态
$ git reset --hard HEAD^(HEAD~100)(commit id)	//回退版本
$ git checkout -- test.txt	//丢弃工作区的修改,即撤销修改
$ git reset HEAD test.txt	//丢弃暂存区的修改(若已提交,则回退)

5. 删除文件

$ rm test.txt
//直接删除
$ git rm test.txt
$ git commit -m "remove test.txt"
//删错了,恢复
$ git checkout -- test.txt

6. 远程仓库

$ ssh-keygen -t rsa -C "youremail@example.com"	//创建SSH Key
$ git remote add origin git@github.com:Daisy/AKgit.git	//关联
$ git push -u origin master	//将本地内容推送到远程仓库(第一次)
$ git push origin master	//将本地内容推送到远程仓库(之后)
$ git remote -v        //查看远程仓库信息
$ git remote rm origin	//删除远程仓库(解绑)
$ git clone git@github.com: Daisy/AKgit.git	//克隆远程仓库
//克隆之后使用和查看
$ cd gitskills
$ ls
$ git remote	//查看远程库的信息
$ git remote -v	//查看远程库的详细信息

7. 多人协作

$ git checkout -b dev	//创建并切换到分支dev
//创建并切换到分支dev,同上
$ git branch dev	//创建
$ git checkout dev	//切换
//新版本
$ git switch -c dev	//创建并切换到分支dev
$ git switch master	//直接切换分支
$ git branch		//查看当前分支
$ git merge dev	(--no-ff)(-m)//合并,把dev分支的工作成果合并到master分支上
$ git branch -d dev	//删除dev分支 
$ git stash	//将现场储藏起来
$ git stash list	//查看储存的工作现场
//恢复和删除
$ git stash apply
$ git stash drop
//恢复并删除
$ git stash pop
$ git cherry-pick 4c805e2	//复制修改
$ git push origin master(dev)	//推送分支
$ git checkout -b dev origin/dev	//创建远程origin的dev分支到本地
$ git pull	//抓取分支(解决冲突)
$ git branch --set-upstream-to=origin/dev dev//指定本地与远程dev的链接
$ git rebase	//把本地未push的分叉提交历史整理成直线

8. 标签管理

$ git tag v1.0	//打标签
$ git tag -a v0.1 -m "version 0.1 released" 1094adb //指定标签名和说明文字
$ git tag	//查看所有标签
//若是忘记打,则查找历史提交commit id ,再打上
$ git log --pretty=oneline --abbrev-commit
$ git tag v0.9 f52c633
$ git show v0.9		//查看标签详细信息
$ git tag -d v0.1	//删除标签
$ git push origin v1.0	//推送标签到远程
$ git push origin --tags	//一次性推送全部本地标签
//删除标签,(若已推送到远程,先从本地删除,从远程删除)
$ git tag -d v0.9
$ git push origin :refs/tags/v0.9 

9. 自定义git

$ git config --global color.ui true	//让git显示颜色
//忽略特殊文件
//.gitignore文件
# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini
# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build
# My configurations:
db.ini
deploy_key_rsa
//把该文件也提交到git
$ git add -f App.class		//强制添加被忽略的特殊文件
$ git check-ignore -v App.class	//检查哪个规则出错
# 排除所有.开头的隐藏文件:
.*
# 排除所有.class文件:
*.class
# 不排除.gitignore和App.class:
!.gitignore
!App.class
$ git config --global alias.st status	//配置别名
$ git config --global alias.unstage 'reset HEAD'  //配置操作别名
$ git config --global alias.last 'log -1'	//显示最后一次提交信息
$ git last	//显示最近一次的提交
$git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"  //颜色
$ cat .git/config //查看每个仓库的git配置文件
$ cat .gitconfig  //查看当前用户的git配置文件
相关推荐
送你一朵小莲花9 分钟前
git merge如何忽略部分路径
git
2401_8644769331 分钟前
无线领夹麦克风哪个降噪好?一文搞懂麦克风什么牌子的音质效果好
javascript·git·sql·github·mssql
6230_41 分钟前
git使用“保姆级”教程2——初始化及工作机制解释
开发语言·前端·笔记·git·html·学习方法·改行学it
沐曦可期2 小时前
Git使用手册
git·学习
认真敲代码的小火龙3 小时前
git入门
git
写bug如流水4 小时前
【Git】Git Commit Angular规范详解
前端·git·angular.js
wang_book10 小时前
Gitlab学习(007 gitlab项目操作)
java·运维·git·学习·spring·gitlab
不是笨小孩i14 小时前
Git常用指令
大数据·git·elasticsearch
救救孩子把14 小时前
mac中git操作账号的删除
git·macos
汀、人工智能15 小时前
报错error: RPC failed,curl 16 Error in the HTTP2 framing layer解决方法
网络·git·网络协议·rpc