forked from dcxy/learngit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cloudstone.txt
44 lines (38 loc) · 2.65 KB
/
cloudstone.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
git init 创建版本库
git add 添加文件到缓冲区
git commit -m ‘xxx’ 提交到本地仓库
git status 查看当前目录状态
git diff 查看文件变化的内容
git reset --hard HEAD^ 回退到上一版本, git reset --hard HEAD^^ 回退到上上版本,git reset --hard HEAD~100 回退到上100个版本,git reset —hard <commit id前几位> 回退到指定版本
git reflog 查看历史版本,如果有需要,随后可以根据显示的commit id进行回退
git add后如果又修改了,此时git commit只会提交add过的版本,后面修改的不会提交
git checkout -- <file> revert文件到add过或最新的版本,先add的版本,再最新的版本
git reset HEAD <file> 可以撤销git add的版本
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
git rm 会同时删除仓库里的文件和本地文件,但是在提交之前,还是可以通过git reset HEAD && git checkout —- <file>恢复文件
git rm 相当于本地rm <file> 再git add
git remote add origin git@server-name:path/repo-name.git 关联一个远程库
git push -u origin master第一次推送master分支的所有内容
git push origin master推送最新修改(对远程库非第一次)
git branch 查看分支
git branch <name> 创建分支
git checkout <name> 切换分支
git checkout -b <name> 创建+切换分支
git merge <name> 合并某分支到当前分支
git branch -d <name> 删除分支
git log —graph 查看分支合并图
git stash 保存工作现场
git stash list 查看保存的stash
git stash apply stash@{n} 恢复指定的stash
git stash pop stash@{n} 恢复现场并删除该stash
如果一个分支没有被合并过,git branch -d feature 会被友情提醒,需要通过git branch -D feature 强行删除
git tag <name>新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
git tag可以查看所有标签。
git push origin <tagname>可以推送一个本地标签;
git push origin --tags可以推送全部未推送过的本地标签;
git tag -d <tagname>可以删除一个本地标签;
git push origin :refs/tags/<tagname>可以删除一个远程标签。