git的基本命令
git的初始化配置
你可以通过以下命令查看所有的配置以及它们所在的文件:
git config --list --show-origin
安装完git之后需要做的第一件事就是配置你的用户名和邮箱。
git config --global user.name ‘用户名’
git config --global user.email ‘邮箱’
Git的本地工作方式
将暂存区的文件撤销到工作区:git reset HEAD
撤销工作区的修改:git checkout –
git的基本操作
克隆git库:
git clone xxx.git -b 远程分支 “指定目录”
不带-b参数,默认clone HEAD指向的分支代码
不带指定目录,默认将clone的代码库放在当前目录
查看分支操作
git branch 不带参数:列出本地已经存在的分支,并且在当前分支前加“*” 号标记
git branch -r :列出远程分支
git branch -a:列出本地分支和远程分支
git branch newbranch [commit ID]:创建一个新的本地分支,只是创建,不进行分支切换
git branch -d/-D branchname:删除本地branchname分支
git checkout branchname 切换分支
gitcheckout -b branchname origin/branch 基于远程的branch分支创建一个本地的branchname 分支并切换到branchname 分支上。
分支提交操作
代码更新操作
git pull origin 远程分支名
或
git fetch origin(或 git remote update)
git rebase origin/远程分支名(或git merge origin/远程分支名)
将代码添加到暂存区:
- git add . :提交工作目录中所有未删除的文件到暂存区(包括新增和修改文件)
- git add -A:提交工作目录中所有的文件到暂存区(包括新增、修改、删除的文件)
- git add -u:提交工作目录中已有文件的变更(包括修改、删除的文件)
将暂存区的内容提交到本地库
git commit
git commit --amend 更改最新一次的提交,不生成新的change-id
将本地库的内容提交到远程仓库
git push
git push origin branchname或者git push origin HEAD:refs/for/远程分支名
git的历史记录
git log查看历史记录
使用git log --graph查看分支历史提交记录
查看详细修改信息
git show 查看提交的详细修改信息
git blame 可以将文件中的每一行的作者、最新的变更提交和提交时间展示出来
gitmerge和git rebase的区别
git merge:将远程origin的分支和本地工作区分支的修改合并,结果看起来就像一个新的“合并的提交”(merge commit);
git rebase:(1)git checkout mywork (2)git rebase origin
这两个命令会把本地的mywork每个(commit)取消,并且把它们临时保存为补丁(patch),然后把mywork分支更新为最新的“origin”分支,最后把保存的这些补丁应用到“myword”分支上。
git回退操作
git reset --soft 回退到某个版本,保留工作区和暂存区的改动
git reset 回退到某个版本,只保留工作区的改动
git reset --hard 彻底回退到某个版本,丢弃工作区和暂存区的改动
git revert 撤销掉某次操作,这次操作也会作为一次提交保存