git学习记录
git 学习笔记 (gitlab搭建自己服务器上的远程仓库,稍后研究)
1、pwd : 命令用于显示当前目录
2、git init : 通过git init命令把这个目录变成Git可以管理的仓库 (初始化一个Git仓库,使用git init命令。)
3、git status : 命令可以让我们时刻掌握仓库当前的状态
4、git diff (文件名) : 可以查看更改的细节
要随时掌握工作区的状态,使用git status命令。
如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
5、git log 告诉我们历史记录 (git log –pretty=oneline 简化输出log)
6、git reset –hard HEAD^ 回退到上一个版本
在Git中,用HEAD表示当前版本 ,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
git reset –hard commitID 可以去到每一个commit版本,
7、git reflog 用来记录你的每一次命令,(可以查询commitID)
总结: HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset –hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
8、工作区,暂存区
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支
9、git checkout — readme.txt 意思就是,把readme.txt文件在工作区的修改全部撤销
①一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
②一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
(git checkout — file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令)
总结: 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout — file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,可以清除缓存区的修改,保留到工作区的修改,再丢弃工作区的修改,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
10、rm test.txt / git rm test.txt 删除文件
(rm虽然删除了,但是未提交到缓存区双层,不能commit,可以用git rm test.txt 这个命令是:删除并提交,可以 直接commit)
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
11、远程仓库(对应8的工作区暂存区)
关联远程仓库:git remote add origin git@gitee.com:zjzweb/heima.git
总结: 要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
12、git clone git@gitee.com:zjzweb/heima.git 命令 克隆远程仓库
<——————git分支操作————————–>
13、git checkout -b dev
git checkout命令加上-b参数表示”创建并切换”
等同于 git branch dev
git checkout dev
***** git switch -c dev(最新版本创建并切换分支)
14、git branch -d dev 删除分支
15、git branch 查看分支
会列出所有分支,当前分支前面会标一个*号。
注意: 切换分支使用git checkout <branch>,而前面讲过的
撤销修改则是git checkout — <file>,同一个命令,有两种作用,确实有点令人迷惑。
实际上,切换分支这个动作,用switch更科学。因此,最新版本的Git提供了新的git switch命令来切换分支。
小结:
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>或者git switch <name>
创建+切换分支:git checkout -b <name>或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
git log –graph 可以查看分支合并图
《————————未完待续——————————-》