Git与Github

文章发布时间:

最后更新时间:

文章总字数:
994

预计阅读时间:
4 分钟

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