常用命令:
git基本命令
安装git后配置代码提交者的信息:
git config –global user.name “username”
git config –global user.email “userEmail”
其中global表示本机上所有的仓库都是用该配置
创建一个版本库
git init
初始化一个git仓库
当前目录会生成一个.git文件,记录仓库中的文件改动
添加文件
git add filename
添加文件,如果没报任何信息,添加成功
文件提交到本地仓库
git commit -m “add a new file”
把之前add的提交到本地仓库,-m是本次递交的信息
查看文件状态
git status
查看仓库内文件的改动
查看文件的改动
git diff filename
查看具体文件的改动
查看历史提交记录
git log
如果觉得输出很乱,那么加上–pretty=oneline
前面的一串字符是提交的Id
在git中,用head
表示当前版本,上一个版本就是HEAD^
,上两个版本就是HEAD^^
,网上100个版本写成HEAD~100
回退到上一个版本
git reset –hard HEAD^
或者
git reset –hard ‘commit id’
版本号不用写全,不过也不能写太短
记录每一次的执行的命令
git reflog
记录每一次的执行的命令,如果回退错误的,可以这么找到commit id 返回去
当使用git init的时候,git默认为我们创建一个分支:master,默认commit的时候都是往这上提交
撤销对本次某个文件的额修改
git checkout – filename
此时分两种情况
- 文件自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
- 文件已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
删除文件
rm filename
git rm filename
*先手动删除文件,然后git status
,查看文件状态,如果要删除该文件,就git rm filename
,
如果是误删 ,git checkout -- filename
*
远程仓库
添加远程库
git remote add origin gitUrl
添加远程仓库,添加后,远程库的名字就是origin
,这是Git默认的叫法,也可以改成别的,但是origin
这个名字一看就知道是远程库。
把本地仓库中的所有东西推送到远程仓库
第一次提交: git push -u origin master
之后提交: git push origin master
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
克隆一个远程库
git clone git_url
分支管理
创建并切换分支
git checkout -b dev
创建并切换到dev分支
相当于
git branch dev
git checkout dev
查看当前分支
git branch
查看当前分支名
git branch
命令会列出所有分支,当前分支前面会标一个*
号。
合并分支
git merge dev
合并dev分支,此时很可能发生冲突,解决冲突,重新提交,删除分支。先切换到主分支后进行合并
暂存目前改动
git stash
执行命令后,本次改动消失,git status
查看并无改动
查看暂存的改动
git stash list
恢复暂存的改动
git stash apply stash@{0}
git stash pop stash@{0}
两种方式,git stash apply
是恢复到stash,之后stash中的内容不删除。需要用git stash drop
删除。第二种git stash pop
删除stash并恢复stash
删除新的未合并的分支
git branch -D branchName
查看远程库的信息
git remote
git remote -v 显示更详细的信息
创建标签
git tag tagName
先切换到要打标签的分支,之后执行命令
查看所有标签
git tag
查看标签信息
git show tagName
删除标签
git tag -d tagName
推送某个标签到远程
git push origin tagName
就是推送某个分支上去
如果标签被推倒远程了,想要删除
git tag -d tagName
git push origin :refs/tags/tagName
先删除本地tag,再删除远程的Tag