Git 学习
快捷命令
初始化:git init
添加文件:git add <file name>
或 git add .
提交文件: git commit -m '<remark>'
推送到仓库:git push origin master
拉取代码:git pull origin master
克隆仓库代码:git clone <url>
查看分支: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 init
把文件添加到版本库
git add readme.txt #添加readme文件
git add . #添加所有文件
把文件提交到仓库
git commit -m "remark" #remark为提交说明
查看提交记录
git log
版本回退,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
……
git reset --hard HEAD^
或指定某条记录,commitId 为提交id,使用 git log
查看
git reset --hard commitId
回退之后在查看git log
就看不到最新的版本了,不过只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那条记录的commit id
就可以指定回到未来的某个版本。
如果关掉了关掉了命令行窗口使用 git reflog
来查看你的每一次命令。
远程仓库
关联远程库
git remote add origin xxx #xxx为远程仓库地址
第一次推送
git push -u origin master
由于远程库是空的,我们第一次推送master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
后续推送
git push origin master
拉取
git pull origin master
克隆
git clone xxxx #xxx为远程仓库地址
分支管理
创建分支
创建dev分支并切换
git checkout -b dev
相当于以下两条命令,先创建,在切换
git branch dev
git checkout dev
由于撤销修改使用的命令是 git checkout --<file>
,同一个命令两种作用,难免有些迷惑。
最新版本的 Git 提供了新的git switch
命令来切换分支:
创建并切换分支
git switch -c dev
直接切换分支
git switch dev
查看当前分支
git branch
合并分支
在 dev 分支下修改了文件并commit,再切换到 master 分支,发现文件并没有改动,是因为提交在 dev 分支上,而当前分支 master 的提交点并没有改变,想要在 master 分支上看到 dev 修改的内容,就需要把 dev 分支合并到 master 分支。
git merge dev
git merge
命令用于合并指定分支到当前分支。合并后在查看文件发现和 dev 修改的内容一致。
删除分支
git branch -d dev