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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
创建本地仓库
git init
查看
git status
从工作区推到缓存区域(没有时间上的维度)
git add .
从缓存区推到 本地仓库(产生时间维度, 产生版本)
git commit -m "add 1"
对比版本库和工作区的文件, 查看修改的内容
git diff
查看版本库时间维度上的各个版本, 查看commit 信息
git log
更简洁版本
git log --graph --pretty=oneline --abbrev-commit
回到时间轴上的上一个版本
git reset --hard HEAD^
回到上上个版本
git reset --hard HEAD^^
回到前100个版本
git reset -hard HEAD~100
q是退出某个状态.
查看命令历史
git reflog
查看工作区和版本库里面最新版本的区别
git diff HEAD -- readme.txt
撤销工作区的修改,跟暂存区保持一致,
(如果暂存区没文件,就和版本库保持一致.)
git checkout -- "readme.txt"
让暂存区的变成版本库里的.
git reset HEAD readme.txt
上面两个操作,相当于把数据的流向更改了一下
删除文件
rm test.txt
创建SSH Key
ssh-keygen -t rsa -C "youremail@example.com"
默认目录
C:\Users\user\.ssh
跟远程仓库进行连接
git remote add origin git@github.com:michaelliao/learngit.git
把本地库的内容推送到远程
git push -u origin master
-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
创建并切换新分支
$ git checkout -b dev
创建分之
$ git branch dev
切换分之
$ git checkout dev
查看分支
$ git branch
查看远程分支
$ git branch -r
合并分支
$ git merge dev
删除分支
$ git branch -d dev
合并时禁用 fast forward 模式
能留下分支的痕迹
git merge --no-ff -m "merge with no-ff" dev
把当前工作现场临时“储藏”起来
不会放进版本库
git stash
查看临时储藏
git stash list
恢复储藏
git stash apply
删除储藏
git stash drop
推荐用这个:恢复+ 删除储藏
git stash pop
丢弃一个没有被合并过的分支,强行删除。
git branch -D <name>
查看远程库的信息
git remote
查看远程库的信息,查看详细信息,
git remote -v
推送分支
git push origin master
推送另一分支
git push origin dev
获取远程分支
git fetch origin dev
创建与远程分支对应的本地分支
git checkout -b dev origin/dev(如果没有上一句,这一句会报错.)
创建本地dev 和 origin/dev的连接
$ git branch --set-upstream-to=origin/dev dev
git commit之后进入vim(vi)界面,如何退出 esc , shift + z, 2次
github添加ssh key之后push还要输入账号密码的解决方法 别用http, 用git开头的仓库地址. 用git协议.
我想更改协议,重新设定仓库地址 github常见操作和常见错误!错误提示:fatal: remote origin already exists.
1、先输入 git remote rm origin 2、再输入 git remote add origin git@github.com:djqiang/gitdemo.git 就不会报错了!
拉取远程分支报错, git 拉取远程分支报错 fatal: ‘origin/dev’ is not a commit and a branch ‘dev’ cannot be created from it
1
2
$ git pull
$ git checkout -b dev origin/dev
git 拉取远程分支到本地 master对应master 分支对应分支.
1
2
3
4
git init
git remote add origin git@github.com:wudimingwo/test4.git
git fetch origin dev
git checkout -b dev origin/dev (如果没有上面那一句这一句是不会有效果的.)
git 相关常用操作指令 详解git fetch与git pull的区别 git fetch origin dev 相当于获取远程的分支 但不会和本地的分支merge 如果没有相应本地的分支, 也不会自动创建. 而 git pull origin dev 相当于 git fetch + git merge
git checkout 出错原因 (error: pathspec ‘master’ did not match any file(s) known to )