前提了解git的工作流程
1、git config
#全局配置
必要
git config --global user.name "hxs"
git config --global user.email "2380110794@qq.com"
非必要
git config --global color.ui true
git config --golobal credential.helper store #输入一次账号密码后,保存
git config --global gui.encoding utf-8 #设置gui编码,gitk
git config --list #查看git config配置
2、上传的一般步骤
git config --global user.name "hxs"
git config --global user.email "2380110794@qq.com"
git init #初始化该目录,有.git文件产生
git staus #查看当前状态,是否修改
git add . #添加此目录以及子孙目录到暂存区,添加文件跟踪
git commit -m "提交内容" #只能将暂存区文件提交到本地仓库中
git remote add origin git地址 #仓库地址连接
git pull origin master #git fetch +git merge 下拉最新的代码并合并
git push origin master #将本地仓库代码提交到远程仓库
3、下载的常用方法
git pull origin master
git clone 仓库地址
4、git branch
分支命令
4.1.创建并切换到新分支(两种方式)
第一种: git checkout -b linux
第二种:
git branch linux
git checkout linux
4.2.git branch 常用的参数
git branch -v # 查看所有本地分支
git branch --merged #查看所有本地合并分支
git branch --no-merged #查看所有本地未合并分支
git branch -a #查看所有分支(远程与本地)
4.3.删除本地创建的分支
git branch -d linux
4.4.创建远程分支与删除远程分支
git push origin linux:linux
git push origin 空格:linux 或者git push origin --delete linux
5、git checkout
#切换分支命令,实质:改名HEAD的指向
git checkout linux
git checkout -f linux #强制切换
#撤销未进入暂存区文件修改
git checkout -- 空格 filename
git checkout -f filename #强制 撤销
git checkout linux -- 空格 test.txt #用本地仓库去覆盖缓存区和工作区的文件
6、git log
#日志查看
git log -num #查看最近提交的num次 如git log -3
git log -num --oneline #每次一行显示提交commitID信息,共num次
git log -num --oneline --graph --all #图形抽象描绘
git log -s/--stat -num #详细列出最近几次提交修改内容
7、git remote
#远程仓库
git remote rm origin #删除远程仓库
git remote -v #查看远程仓库
git remote -a #查看所有的本地分支和远程分支
8、git rm
#删除
git rm -f filename #删除未进入暂存区的文件
git rm --catched filename #删除进入暂存区的文件
补充:# 撤销修改未进入暂存区的文件
git checkout -- 空格 filename
9、git reset
#还原数据
git reset --hard hash #将本地仓库还原至暂存区
git reset --hard HEAR^ #还原至上一个版本
git reset filename #恢复文件至近一次提交状态
git reset HEAD filename #清空缓存区中的该文件
10、git diff
#比较上次commitID
git diff #查看未进入暂存的文件更新了哪些内容
git diff HEAD^ HEAD #比较上次与上上次之间
git diff --catched / git diff --staged # 查看暂存和上次提交之间的差距
11、git merge 与git cherry-pick
#git merge 主分支合并linux分支所有的修改文件
git checkout master
git merge linux
#git cherry-pick 部分代码合并
git checkout -b linux
//操作:修改文件
git add .
git commit -m "提交修改内容"
git log -2 --oneline #复制结果中的此次提交的commitID
git checkout master
git cherry-pick commitID #该提交的修改应用与此分支
git pull origin master #git fetch+git merge 下拉远程仓库最新代码同时合并修改
git push origin master #提交本地仓库内容至远程仓库
12、合并到主分支
#默认初始化环境已配置
git checkout -b linux #创建并切换该分支linux
git add . /git add filename .... #从工作区添加文件至暂存区
git commit -m "提交内容" #从暂存区提交文件至本地仓库
git status #查看状态
git checkout master #切换到master主分支
git merge linux #master合并linux分支的修改,容易产生冲突
git pull origin master #下拉最新代码
git push origin master #从本地仓库提交代码到远程仓库
git branch -d linux #删除本地分支linux
13、解决git merge 产生的冲突问题
#撤回合并操作
git merge --no-commit
#手动打开编辑冲突文件
vim编辑
14、gitk
#下载git gui后,自动可以打开,具体操作就不说了。
15、git show
git show commitid #查看提交的内容