Git 与 GitHub–初见 本文主要记录了 git 的基本命令与使用场景,GitHub 的使用尚未涉及。
Git 命令 推荐一个 git 可视化学习项目 git 闯关
基础命令 创建空目录 1 2 3 mkdir learnGit cd learnGit pwd //显示当前目录
基操勿六
1 2 3 4 5 6 7 8 git init //git仓库初始化(在目标路径下创建master分支) git add [filename1] [filename2] ... //将文件添加至暂存区 git add . //一次性添加路径下全部文件 git status //查询仓库状态 git diff [filename] //查询文件当前与上次的更改 git diff [HEAD~number]--[filename] //查看工作区与版本库内最新版文件的区别 git commit -m "提示性信息" //提交所有区文件,默认提交至"master"分支 git log //查看提交记录
回退 1 git reset --hard HEAD^ //回退至上一版本
HEAD 表示当前版本,HEAD^表示上一版本,HEAD^^倒数第二个版本,HEAD~100 上 100 个版本
撤销回退 1 git reset --hard [commitID] //仅需commitID的前几位供git自行查找
commitID 可通过git log
查看,对于清屏后的情况,可使用git reflog
查看
撤销更改 1 git checkout -- [filename] //丢弃上次修改,回退至最近一次git add或git commit时的状态
如果待修改文件已经进入暂存区,使用git reset HEAD <filename>
可撤销,文件重新放回工作区,然后使用git checkout --[filename]
彻底放弃本次修改
删除文件 常用rm [filename]
但会收到 git 警告文件被删除。
从版本库中删除文件git rm [filename]
并git commit
,注意使用-m
填写删除文件的提示性信息。
误删文件,使用git checkout -- [filename]
撤销
链接远程仓库 创建 SSH Key,WIndows 下打开 Git Bash,键入ssh-keygen -t rsa -C "emali@exmaple.com"
其中 emali 任意填写皆可,起辨认作用。
进入 Windows 用户主目录下的.ssh
或直接使用指令$ open ~/.ssh
,可发现私钥id_rsa
,公钥id_rsa.pub
,其中,公钥可随意传播。
进入 Github 的 SSH 设置,任意填写 SSH 标题,将id_rsa.pub
中的文件拷贝到 Key 文本框,点击 add key 完成。
关联远程库 1 git remote add [originName] git@userName:repoName.git
若远程库已存在:
1 2 git remove -v git remove [originName]
推送到远程 1 git push -u [originName] [currentBranch]
第一次推送 使用-u
参数,关联本地/远程库,此后可省略。
删除远程库 1 git remote rm [originName]
解除本地/远程库关联
克隆远程库 1 git clone git@github.com:[repoName]
SSH 传输协议最快
分支管理 创建分支 1 2 3 git branch dev //创建dev分支 git checkout dev Switched to branch 'dev' //切换至dev
前两条语句相当于git checkout -b dev
合并分支 1 2 3 git merge dev //合并指定分支到当前所在分支 git branch -d dev //删除dev分支 git branch //查看分支
创建新分支 并不推荐使用git checkout <branch>
切换分支,推荐使用git switch <branch>
,创建新分支并打开,使用switch -c <branchName
冲突解决 pass
标签管理 创建标签 1 2 3 4 5 6 git tag v1.0 //为当前所在分支最新commit版打标签 git tag v0.9 [commitID] //对某一版本打标签 git tag //查看所以标签 git show [tagName] //查看某标签具体信息,包括[commitID,Data...] git tag -a v1.0 -m "解释性文字" [commitId前几个字符] //-a 指定标签名,-m指定说明文字 //a.k.a本标签带有说明,git show可见
操作标签 1 2 3 4 5 6 git tag -d v0.9 //删除标签 git push origin <tagname> //推送标签到远程 git push origin --tags //推送全部标签 git push origin :refs/tags/<tagname> //删除远程标签,关于冒号作用: //官方的解释:将冒号前面的空值推送到远程标签名,从而高效地删除它。 git push origin --delete ref/tags/$<tagname> //另一种删除方法
使用 GitHub pass
笔记参考来源: [1] 廖雪峰 Git 教程
[2] MIT 公开课-The Missing Semester
[3] missing-semester-2020