git
# 提交本地项目到Git
(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
git init
1把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件
git add .
1
- 用命令 git commit告诉Git,把文件提交到本地仓库。引号内为提交说明
git commit -m 'first commit'
1
- 关联到远程库
git remote add origin 你的远程库地址
1
获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
1把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。
git push -u origin master
1
其他
状态查询命令
git status
1检查远程仓库配置
git remote rm origin git remote add origin XXXX
1
2如果远程仓库信息有误,则删除本地仓库配置,并且设置相关地址
git remote rm origin git remote add origin XXXX
1
2查看你的历史变更记录
git reflog 命令
1回滚到指定的版本(hard后面接的是上面标红的ID,也就是想回滚到的版本)
## 回退到指定版本,不保留原更改代码git reset --hard e377f60e28c8b84158 ## 回退到指定版本,保留原更改代码,且生成新的提交git revert e377f60e28c8b84158
1
2
3
# git 常用操作
git简介 安装 创建本地仓库
暂存区和工作区
管理修改 删除 和回退
分支创建 删除 切换 合并 冲突解决
多人协作
正常工作分支
标签的创建 删除 以及推送到远程仓库操作
git clone url 克隆远程仓库
git init 初始化仓库
git status 命令用于显示工作目录和暂存区的状态。使用此命令能看到那些修改被暂存到了,
哪些没有, 哪些文件没有被Git tracked到。git status不显示已经commit到项目
历史中去的信息。看项目历史的信息要使用git log.
版本对比
git diff HEAD -- readme.txt 命令可以查看工作区和版本库里面最新版本的区别
add提交和撤销
git add . 把要提交的所有修改放到暂存区(Stage)
git restore --staged readme.txt 将文件从stage区还原到未缓存状态
commit提交和还原
git commit -m "" 一次性把暂存区的所有修改提交到分支
git reset --hard commit_id 回滚到指定的版本
工作区还原
git checkout -- readme.txt
或git checkout . 如果暂存区没有缓存,则撤销还没有缓存到stage的文件修改,如果暂存区有
该文件缓存,则会用暂存区文件替换工作区文件
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到
和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就
回到添加到暂存区后的状态。
git checkout HEAD .” 清空所有暂存区和工作区改动
或 “git checkout HEAD <file>” 会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区
和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工
作区中未提交的改动,也会清除暂存区中未提交的改动。
历史记录
git reflog 查看命令历史,以便确定要回到未来的哪个版本,查看你的历史变更记录
git log 当前版本下可以查看提交历史,以便确定要回退到哪个版本
git reset --hard commit_id 回滚到指定的版本
分支:
git branch 查看所有分支
git branch <name> 创建分支
git branch -d <name> 删除分支
git branch -D <name> 强行删除分支
git checkout <name>
或git switch <name> 切换分支
git checkout -b <name>
或git switch -c <name> 创建+切换分支:
git merge <name> 合并某分支到当前分支
git merge --no-ff -m "" <name> 不使用fast forward 方式合并分支
git merge --abort 丢弃合并操作
远程和远程分支
git pull origin master 获取远程仓库代码
git pull --rebase origin master 获取远程库与本地同步合并
(如果远程库不为空必须做这一步,否则后面的提交会失败)
git push origin master 把本地库的内容推送到远程仓库
git remote -v 查看本地仓库关联的远程仓库地址
git remote add origin url 本地仓库关联到远程库
git remote rm origin 移除本地仓库与远程库的关联
git push origin branch-name 从本地推送分支到远程
git checkout -b branch-name origin/branch-name 远程仓库先创建分支,
本地仓库先git pull 再本地创建和远程分支对应的分支
git branch --set-upstream branch-name origin/branch-name
建立本地分支和远程分支的关联
标签
git tag 查看所有标签
git show v0.1 查看某一个标签信息
git tag v0.1 给当前commit_id 打标签
git tag v0.9 f52c633
git tag -a v0.1 -m "version 0.1 released" 1094adb 给某一个commit_id打标签
git tag -d v0.1 删除标签
git push origin <tagname> 推送一个本地标签到远程仓库
git push origin --tags 可以推送全部未推送过的本地标签;
命令git tag -d <tagname> 可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
暂存工作内容
git stash 暂存工作内容
git stash apply 恢复,但是恢复后,stash内容并不删除
你需要用git stash drop来删除
git stash drop 删除stash内容
git stash pop 恢复的同时把stash内容也删了
git stash list 查看所有暂存内容
git stash apply stash@{0} 查看,然后恢复指定的stash
设置忽略文件
git rm -r --cached .
git add .
git commit -m ‘update .gitignore’
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Last Updated: 2023/08/03, 11:01:11