forked from michaelliao/learngit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cecilia.txt
57 lines (39 loc) · 3.52 KB
/
Cecilia.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
git init 把当前目录变成Git可以管理的仓库:
cat readme.txt 查看文本内容
rm license.txt 删除文件
git rm test.txt 从版本库中删除该文件,先手动删除文件,然后使用git rm <file>和git add<file>效果是一样的。
git add readme.txt 提交文本到暂存区
git commit -m "xxx" 将提交到暂存区的文本提交到分支
git status 查看工作区是否有修改
git log 版本历史记录
git log --pretty=oneline 版本历史记录 一行查看
git reset --hard HEAD^ 回退到上一个版本 HEAD指向的版本就是当前版本
git reset --hard 1094a 回退到某个commitid版本,版本号没必要写全,前几位就可以了,Git会自动去找
git reflog 用来记录查看命令历史
git diff HEAD -- readme.txt 命令可以查看工作区和版本库里面最新版本的区别:
git checkout -- readme.txt 丢弃工作区的修改,工作区的修改或删除全部撤销
git reset HEAD readme.txt 把暂存区的修改撤销掉(add后了),重新放回工作区:
git remote add origin [email protected]:CeciliaNi/HelloGitHub.git
git push -u origin master--第一次推送master分支,从现在起只要本地作了提交,就可以通过命令:git push origin master推送最新修改;
--克隆远程版本库
git clone [email protected]:CeciliaNi/gitskills2.git
--分支
git checkout -b dev 创建dev分支,然后切换到dev分支
git branch 会列出所有分支,当前分支前面会标一个*号
git checkout master 切换回master分支
git merge dev fast forwardmo模式,合并指定分支到当前分支,这个命令是将dev分支合并到当前分支
git merge --no-ff -m "merge with no-ff" dev 普通模式合并,合并后的历史有分支,能看出来曾经做过合并
git branch -d dev 删除dev分支
git branch -D dev 要丢弃一个没有被合并过的分支,强行删除。
git log --graph --pretty=oneline --abbrev-commit 查看分支合并图
--当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
git stash 把当前工作现场“储藏”起来
git stash list 查看工作现场
git stash pop 恢复工作现场的同时把stash内容也删了
--报错
fatal: remote origin already exists. //解决 git remote rm origin
--解决冲突
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。