1.全局配置
- 配置身份:git config --global user.name "xxx"
git config --global user.email "xxx@xxx.com"
- 检查身份:git config user.name
git config user.email
2.连接远程仓库(2种方法)
- git clone Git地址,克隆远程仓库,将代码下载到本地
- 使用git remote命令
dir filename 创建仓库目录
git init 初始化目录
git remote add [origin] [git address] 添加远程仓库
3.提交本地代码
- add命令,用于把想要提交的代码先添加进来
git add 文件名 添加文件,暂时存放在暂存区
git add 文件夹名 添加一个文件夹
git add . 添加库目录下的所有文件
- git commit -m “提交的描述信息” commit命令,执行提交操作
4.撤销未提交的修改
- git checkout 文件名 撤销对文件的修改(没有提交的清况,没有add)
- git checkout . 撤销所有文件的修改
- git reset HEAD 文件名 取消添加(若已经add了,那么先取消添加,再撤销修改)
- git reset –soft HEAD ‘file’ 将暂存区和HEAD版本比较,丢弃暂存区的修改
5.查看提交记录
- git log 查看所有提交记录
- git log -p 文件名 查看提交的文件记录
- git log -p 分支名 查看提交的分支记录
- git log 记录id -1 查看指定id的一条记录
- git log 记录id -1 -p 查看指定的一条记录的具体修改内容
- git log –graph –pretty=oneline –abbrev-commit 查看分支图
- git status 查看文件状态(基于版本库)
- git reset –hard HEAD^ 回退到之前版本(^ 上个版本,^^上上个版本,~100前一百个版本)
- git reflog 查看过去的版本信息(版本号)
- git diff HEAD –file 比较文件在版本和工作区之间的差异
—HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset –hard commit_id。
—穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
—要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
6.分支
- git branch -a 查看分支(包括远程分支)
- git branch -r 查看远程分支
- git branch 分支名 创建分支
- git checkout 分支名 切换分支
- git checkout -b 分支名 创建并切换分支
- git checkout -b 本地分支 远程仓库/远程分支 将远程分支checkout到本地的新建分支下
- git merge 分支名 合并分支到当前分支
- git merge –no-ff 分支名 用普通模式合并分支,这样就能看到分支记录
- git branch -d 分支名 删除分支(如果该分支没有被合并,只能用下一条命令执行删除)
- git branch -D 分支名 强行删除分支
- git branch -r -d origin/branch-name 使用两条命令删除远程分支
- git push origin :branch-name
7.解决冲突
- git merge 的时候如果有冲突,会用”””’,=======,”””’
- 标记出不同分支的内容,解决冲突后再add并commit就可以了。
- git log –graph –pretty=oneline 查看分支图
8.储存现场
- git stash 将当前工作区的内容(被git管理的)存储在stash中
- git stash save stashName 备注现场
- git stash list 查看stash列表
- git stash pop 将工作区回到现场并删除现场
- git stash apply stashName 将工作区回到存储的现场
- git stash drop stashName 删除现场
- git stash pop stashName 将工作区回到现场并删除现场
- git stash clear 清空stash列表
9.远程操作
- git remote -v 查看远程仓库信息
- git pull origin 分支名 从远程仓库的分支下拉取代码到本地分支
- git fetch origin 分支名 将远程仓库的分支代码拉取到本地,保存在.git文件夹中,但是不执行合并操作
- git push origin 分支名 提交代码到远程仓库
- git branch –set-upstream lBranchName origin/rBranchName
- git branch –set-upstream-to=origin/rBranch lBranch:将本地分支tracing远程分支,
- 这样执行git push origin 操作的时候,就会默认将代码提交到指定的远程分支上,该命令只需执行一次.
- git cherry-pick ‘commit-id’ 将某次commit应用到该分支,可以跨分支。
- git push origin 分支名 通过push一个空的本地分支到远程库的方式,删除远程分支
- git push & git pull 在某个分支执行git push,只会push当前分支到远程库,如果要push其他分支,需要在push后加上分支信息;但是执行git pull,会将远程库中所有的分支信息都更新,不过只有当前分支会直接merge到本地代码上,对于其他分支,相当于执行了一次fetch