1、git init
初始化仓库
2、git add . | git add filename
添加到暂存
3、git commit -m 备注
提交到仓库
4、git pull
从远程仓库拉取
5、git push
提交到远程仓库
6、git status
查看工作状态
7、git diff filename
文件修改的时候,想查看文件中哪里修改了
8、git log
查看commit 日志
9、git log --pretty=oneline
查看commit日志,一行显示
10、git reset --hard head | git reset --hard commit_id
跳转到历史提交版本,
在跳转到以前的版本后,git log查看不到该本版之后的提交记录,用 git reflog 查看命令历史了
11、git reflog
查看命令历史,以便在跳转到以前版本后,可以回跳到新版本
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
12、git restore filename | git checkout – filename(旧版)
丢弃对工作区中的修改
13、git restore --staged filename
把暂存区中的内容,退回到工作区
14、git rm filename
删除文件
分支管理
15、git branch
查看分支
16、git branch dev
创建dev分支
17、git switch dev | git checkout dev
切换到dev分支
git switch -c dev | git checkout -b dev
创建dev分支,并切换到dev分支
18、git merge dev
合并分支(分支在master上),git merge命令用于合并指定分支到当前分支
因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。
创建+切换分支:git checkout -b 或者git switch -c
19、git branch -D dev
删除den分支
【注意】
通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息
【注意】
工作区只有一个,在dev分支创建的东西,不提交,切换到bug-001分支,dev分支在工作区的工作还是
会存在,所以需要将dev的工作区存到stash区,让后工作区就是干净的,到bug-001分支就可以进行bug修复
20、git stash
stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
当前工作没完成,不能提交,出现bug时,可以将又需要及时修复,可以将工作stash起来
修改bug后,再取出stash继续工作
21、git stash list
查看工作存储到哪了
22、git stash apply
恢复工作区,但缓存再stash内容并不删除,需要用git stash drop删除
24、git stash drop
删除stash内容
23、git stash pop
恢复工作区,并把stash内容删除
【注意】
使用bug-001修复了mater分支的bug,但dev上也存在这个bug,是否也需要手动修复呢,
git有命令可以将bug–001分支上的修复复制过来,而不用复制整个master分支的内容过来
24、git cherry-pick [bde9-commit_id]
将某次的提交内容复制到本分支
【思考】
那么聪明的孩子可以想到了,可不可以直接在dev分支,进行bug修复,然后再master分支仅复制dev上修复bug的
内容,当然可以,过仍需要将dev上的工作进行stash
25、git remote | git remote -v
查看远程分支,一般为origin | 查看详细信息
26、git push origin dev
把dev分支推送到远程分支origin上