Git常见指令集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
git config --global user.name "Name"
git confif --global user.email "a@xx.com"
git init //初始化git仓库
git add <fName> //添加到暂存区
git commit -m "提交描述" //提交暂存区所有内容到仓库
git status 查看仓库当前状态,能查工作区哪些被修改,暂存区哪些还没有提交
git diff <fName> 查看工作区文件内容与仓库文件内容的区别
git diff HEAD -- <fName> 查看工作区与版本库里最新版本的区别
git log --pretty=oneline查看最近到最远的提交日志
git log --graph --pretty=oneline --abbrev-commit 查看分支合并情况
git reset --hard HEAD^ 回退到上一个版本
git reset --hard cId 回退到commitId版本
git reset HEAD <fName> 把暂存区的修改撤销
git reflog 查看历史命令
git checkout -- <fName> 用版本库的版本替换工作区的版本。条件:如果从修改后都没有放到暂存区,则丢弃修改后
就回到和版本库一样的状态;如果已添加到暂存区,同时工作区又做了修改,那么就回到添加到暂
存区后的状态
git rm <fName> 从版本库删除该文件,记得删除后要commit说明
git remote add origin git@server-name:path/repo-name.git 次关联远程仓库
git push origin --delete serverfix
git push origin <bName>把当前分支内容推送到远程同名分支,如果远程库是空的,第一次要加入-u参数
git push origin <tName> 推送某个标签到远程
git push origin --tags 一次性推送全部尚未推送到远程的本地标签
git push origin :refs/tags/<tName> 删除一个远程标签,一般需要删除本地再删除远程
git clone httpsUrl 使用的是https协议,默认git:// 使用ssh
git branch 查看当前分支情况,后加-a参数表示查看全部分支信息
git branch <bName> 创建新分支
git checkout-b <bName> 创建并切换到新分支
git branch -d <bName> 删除分支
git branch -D <bName> 强制删除一个没有被合并过的分支
git checkout <bName> 切换到对应分支
git merge <bName> 合并指定分支到当前分支,为“快进模式”;如果有冲突,可以在git status中看到冲突文件,修
改冲突文件后重新add并commit,完成后就会自动合并
git merge --no-ff -m "合并信息" <bName> 禁用“快进模式”进行合并,能从分支历史看到分支信息,而
“快进模式”合并则看不出来曾经做过合并
git stash 保存当前分支工作区和暂存区的工作状态
git stash list 查看分支的工作现场
git stash apply 恢复现场
git stash drop 删除stash内容(不是工作内容)
git stash pop 恢复的同时也删除内容(不是工作内容)
git tag 查看所有标签
git tag <vNumber> 打一个新标签,默认是打在最新HEAD上,如果想在历史打标签,需要git log --pretty=oneline --abbrev-commit查看历史
找到commitId,执行git tag <vNumber> commitId
git show <tName> 查看标签信息
git tag -a <tName> -m "说明文字" <cId> 打标签并说明
git tag -s <tName> -m "说明文字" <cId> 用私钥签名一个标签
git tag -d <tName> 删除标签,创建的标签只存储在本地