forked from michaelliao/learngit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcassiechp.txt
81 lines (79 loc) · 4.51 KB
/
cassiechp.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
1、Git介绍:只能管理:txt,脚本(文字化文件)
2、Git安装:git官网-》downloads-〉download for mac os x
3、mkdir
4、pwd 显示当前目录
5、git init 把当前目录变成git可以管理的仓库
6、ls 看不到.git目录,只有用命令ls -ah就可以看见
7、git无法跟踪二进制文件
8、用Notepad++代替windows自带的记事本,把Notepad++的默认编码设置为UTF-8 without BOM
9、添加文件到git仓库,分两步:
直接在目录下vim一个文件,输入内容,保存退出;
使用命令git add <file>,注意,可反复多次使用,添加多个文件;
使用命令git commit -m <message>,完成。
10、git status 获取工作区的状态
11、git diff 查看修改内容(应该在没有添加和提交文件的时候查看)
12、终端命令:
. 表示当前目录
.. 表示当前目录的上一级目录
/ 根目录/目录分隔符
./ 当前目录
../ 回到上一级目录
ls 显示当前目录下的所有文件
mkdir 创建新目录
rmdir 删除空目录,注意是空目录
u 撤消
13、git log 显示从最近到最远的提交日志
如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数
14、HEAD表示当前版本
上一个版本就是HEAD^,上上一个版本就是HEAD^^,HEAD~100
15、返回上一个版本:
后悔并回到刚刚删除的版本:$ git reset --hard commit_id(为该版本的前缀)
16、git reflog 记录你输入的所有命令
17、cat :
1.一次显示整个文件: $ cat filename
2.从键盘创建一个文件:$ cat > filename 只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件:$cat file1 file2 > file
18、git checkout -- file 可以丢弃工作区的修改(未添加到暂存区)
19、git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),再用上面的方法丢弃工作区的修改
20、git rm用于删除一个文件
21、初次连接远程仓库:git push -u origin master
把本地master分支的最新修改推送至GitHub:git push origin master
22、关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git
23、从远程库克隆一个仓库 git clone [email protected]:yourname/repo-name.git
24、git checkout -b dev
等同于git branch dev 创建分支
git checkout dev 切换分支
25、git branch命令查看当前分支
26、git merge命令用于合并指定分支到当前分支
27、git branch -d dev 删除分支
28、git log --graph --pretty=oneline --abbrev-commit 可查分支情况
git log --graph命令可以看到分支合并图
29、 git merge --no-ff -m "merge with no-ff" dev
合并dev分支,请注意--no-ff参数,表示禁用Fast forward
--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并
而fast forward合并就看不出来曾经做过合并。
30、保护现场:git stash
显示现场记录:git stash list
恢复现场:git stash pop=git stash apply
和 git stash drop
恢复指定现场:git stash apply stash@{0}
31、更新部分已修改好的master内容:git cherry-pick <commit版本>命令
32、git branch -D <name>强行删除
33、git push origin <branch-name>推送自己的修改
34、远程分支比你的本地更新,需要先用git pull试图合并
git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/<branch-name> <branch-name>。
如果合并有冲突,则解决冲突,并在本地提交;
git push origin <branch-name>推送就能成功
35、查看远程库信息,使用git remote -v
36、在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
37、git rebase 可以把本地未push的分叉提交历史整理成直线
38、标签 git tag <tagname>用于新建一个标签
指定一个commit id :git tag <tagname> <commit id>
git tag -a <tagname> -m "blablabla..."可以指定标签信息
git tag可以查看所有标签
删除标签:git tag -d <tagname>
把标签推送到远程:git push origin <tagname>
一次性推送全部尚未推送到远程的本地标签:git push origin --tags
从远程删除标签:先在本地删除,然后git push origin :refs/tags/<tagname>
39、Fork可以克隆别人的库到自己的库
40、发起pull request,可以申请bug修改