Git 指令结构图
图片中展示了Git Repository结构和执行相关Command后数据的变迁流程,Git维护的代码分成三个部分
git add
命令会将(1)的改变写到(2)
git commit
将(2)的改变写到(3)
git commit -a
会直接将(1)中的改动同时写到(2)和(3)
git reset
用来撤销最后一次git add files,也可以用来撤销所有暂存区域文件。
git checkout
把文件复制到工作目录或者暂存区域,可以用来撤销在当前工作目录中的修改。
git checkout HEAD --files
将仓库中的文件覆盖到工作目录。
git diff
命令用来查看差异:
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
| # 帮助和配置
git help command 查看帮助
git command –help 查看帮助
git config –global user.name <username> 设置用户名
git config –global user.email <email> 设置用户邮箱
git config –list 查看用户信息
# 新建仓库
git init 初始化
git clone /path/to/repository 创建一个本地仓库的克隆
git clone username@host:/path/to/repository 创建一个远端服务器仓库的克隆
# git add 命令 含义
git add file_name 加单个文件到缓存区
git add . 加当前目录的所有文件到缓存区
git add -i 进入交互式add
git add -p 直接进入补丁模式,可以暂存修改的一部分。
git remote add origin <server> 修改推送到远程的服务器
# git commit 命令 含义
git commit -m “代码提交信息” 提交改动
git commit -a 第一步:自动地add所有改动的代码,使得所有的开发代码都列于index file中;第二步:自动地删除那些在index file中但不在工作树中的文件;第三步:执行commit命令来提交。
git commit –amend -m “新的提交信息” 提交改动(若有改动) + 修补最近一次提交
# git push 命令 含义
git push origin test:test2 提交本地test分支作为远程test2分支
git push origin test 提交本地test分支作为远程test分支
git push origin :test 删除远程test分支
git push origin :refs/tags/t4 删除远程tag标签t4
# git pull 命令 含义
git pull 从仓库取回代码,更新本地仓库至最新
git pull origin test:test2 取回远程的test分支作为本地的test2分支
# git checkout 命令 含义
git checkout master 切换回主分支
git checkout test 如果本地无test分支,先需要从远程pull回test分支
git checkout -b feature_x 创建一个叫做“feature_x”的分支,并切换过去
# git branch 命令 含义
git branch b4 t4 以tag t4建立新的分支b4
git branch -d feature_x 删除分支
# git merge 命令 含义
git merge AAA 将分支AAA与当前分枝合并
# git diff 命令 含义
git diff 查看working tree与index file的差别的(这个命令只在git add之前使用有效。如果已经add了,那么此命令输出为空)。
git diff –cached 查看index file与commit的差别的(这个命令在git add之后在git commit之前有效。)。
git diff HEAD 查看working tree和commit的差别的。(你一定没有忘记,HEAD代表的是最近的一次commit的信息)
# git reset 命令 含义
git reset –soft 只撤销commit,保留working tree和index file。
git reset –mixed 撤销commit和index file,保留working tree
git reset –hard 撤销commit、index file和working tree,即撤销销毁最近一次的commit
git reset 和git reset –mixed完全一样
git reset – 用于删除登记在index file里的某个文件。例如:git reset – roc.c
# git revert 命令 含义
git revert 用于回滚(撤销)一些commit。对于一个或者多个已经存在的commit,去除由这些commit引入的改变,并且用一个新的commit来记录这个回滚操作。这个命令要求working tree必须是干净的。
git revert HEAD~3 丢弃最近的三个commit,把状态恢复到最近的第四个commit,并且提交一个新的commit来记录这次改变。
git revert -n master~5..master~2 丢弃从最近的第五个commit(包含)到第二个(不包含),但是不自动生成commit,这个revert仅仅修改working tree和index。
# 其他命令
git merge <branch> 合并其他分支到当前分支
git log 获取提交 ID
git tag 1.0.0 <ID> 创建一个叫做 1.0.0 的标签
|