-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdemo.txt
138 lines (100 loc) · 4.47 KB
/
demo.txt
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
134
135
136
137
138
//安装Git
//git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
//初始化仓库
$ mkdir learngit
$ cd learngit
$ pwd
$ git init
//提交仓库
$ git add readme.txt
$ git commit -m "wrote a readme file"
//查看仓库状态 对比文件不同
$ git status
$ git diff readme.txt
$ git add readme.txt
$ git commit -m "add distributed"
//显示从最近到最远的提交日志
$ git log //key [q(quit)];
$ git log --pretty=oneline;
//在Git中,用HEAD表示当前版本
$ git reset --hard HEAD^;
//回退到指定版本,版本号没必要写全,前几位就可以了
$ git reset --hard e09995b;
//在Git中,总是有后悔药可以吃的 用来记录你的每一次命令
$ git reflog;//all log
//命令可以查看工作区和版本库里面最新版本的区别
$ git diff HEAD -- readme.txt
//可以把暂存区的修改撤销掉(unstage),重新放回工作区
$ git reset HEAD file
//把readme.txt文件在工作区的修改全部撤销
$ git checkout -- readme.txt
//从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
$ git rm test.txt
-----------------------------------------------------------------------------------
远程仓库:
第1步:创建SSH Key。
$ ssh-keygen -t rsa -C "[email protected]"
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
-----------------------------------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
添加远程库:
第1步:把本地仓库的内容推送到GitHub仓库。远程库的名字就是origin
$ git remote add origin [email protected]:michaelliao/learngit.git
第2步:本地库的所有内容推送到远程库上
//由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
$ git push -u origin master
第3步:把本地master分支的最新修改推送至GitHub
$ git push origin master
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
````````````````````````````````````````````````````````````````````````````````````````
从远程库克隆:
第1步:$ git clone [email protected]:michaelliao/gitskills.git
````````````````````````````````````````````````````````````````````````````````````````
//创建dev分支,然后切换到dev分支
$ git checkout -b dev
//查看当前分支
$ git branch
//切换回master分支
$ git checkout master
//把dev分支的工作成果合并到master分支上
$ git merge dev
//删除dev分支
$ git branch -d dev
//查看分支合并图
$ git log --graph --pretty=oneline --abbrev-commit
//当前工作现场“储藏”起来,等以后恢复现场后继续工作
$ git stash
//查看已“储藏”起来的工作现场
$ git stash list
//恢复工作现场,有两个办法 一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了
$ git stash apply $ git stash drop
$ git stash pop
//强行删除分支
$ git branch -D <name>
//远程最新的提交从origin/dev抓下来
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,
用命令git branch --set-upstream branch-name origin/branch-name。
$ git pull
//创建标签
$ git tag v1.0
//历史提交
$ git log --pretty=oneline --abbrev-commit
$ git tag v0.9 6224937
//查看标签信息
$ git show v0.9
//用-a指定标签名,-m指定说明文字:
$ git tag -a v0.1 -m "version 0.1 released" 3628164
//删除标签
$ git tag -d v0.1
//推送某个标签到远程
$ git push origin v1.0
//一次性推送全部尚未推送到远程的本地标签
$ git push origin --tags
//删除远程标签
$ git tag -d v0.9 (先删除本地)$ git push origin :refs/tags/v0.9(再删除远程)
//或者你发现,可能是.gitignore写得有问题,需要找出来到底哪个规则写错了,可以用git check-ignore命令检查
$ git check-ignore -v App.class