整理一下自己学的 Git 相关的内容吧
一、安装
- 在 Windows 上安装 Git
从 Git 官网下载安装:https://git-scm.com/download/win
安装完成后运行一次 Git Bash
- 在 Linux 上安装 Git
Debian:sudo apt-get install git
Fedora:dnf install git
CentOS:yum install git
其他参考:https://git-scm.com/download/linux
- 在 Mac OS X 上安装 Git
一是安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/
二是直接从 AppStore 安装 Xcode,Xcode 集成了 Git,不过默认没有安装,你需要运行 Xcode,选择菜单 Xcode - Preferences,在弹出窗口中找到 Downloads,选择 Command Line Tools,点 Install 就可以完成安装了
Xcode 是 Apple 官方 IDE,功能非常强大,是开发 Mac 和 iOS App 的必选装备,而且是免费的
二、配置
安装完成后需要配置自己的身份信息
1
2
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
其中 Your Name
替换为您的姓名,email@example
替换为您的邮箱
三、创建版本库 (仓库)
选择一个文件夹,然后执行命令
1
git init
这样该文件夹就称为可以被 Git 管理的仓库,请勿乱修改 ./.git
目录下的文件 (通常这是隐藏文件),该目录内容为 Git 跟踪管理版本库的
或者也可以从 Github 上克隆仓库到本地
- 克隆别人的仓库
如果不修改然后提交使用 HTTPS 就行,例如
git clone https://github.com/yexca/typecho-theme-book.git
仓库链接可访问仓库所在网页,点击 Code 获得
如果克隆下来需要提交更改,需要仓库的拥有者将您的密钥添加到仓库的 Deploy keys ,此时可以使用 SSH 克隆
git clone [email protected]:yexca/typecho-theme-book.git
不过一般修改提交的话还是先 fork 一份修改然后再 Pull requests 提交比较好
- 克隆自己的仓库
先在个人的设置处添加 SSH 公钥:SSH and GPG keys (github.com)
然后以上俩方法皆可
四、文件提交本地仓库
一通操作后,多了几个文件,该提交到仓库了
将文件添加到本地仓库
1
2
3
git add filename
# 或者下面是提交所有修改的文件
git add .
添加完成后该提交了
1
git commit -m "some details"
在 some details
处描述本次提交了什么
那如果有些文件我不想提交到仓库呢,也就是有些文件可能不需要 Git 进行跟踪是否被修改
创建 .gitignore
文件,然后把不想被 Git 管理的文件名填入一行一个即可
1
2
3
4
5
# .gitignore 文件
test/ # 忽略 test 文件夹
test # 忽略 test 文件
*.py[cod] # 忽略 *.pyc *.pyo *.pyd 文件
!app.pyc # 不忽略 app.pyc 文件
忽略了也可以强制提交:git add -f test.pyc
也有一些现成的文件,可以参考一下:https://github.com/github/gitignore
如果在使用过程中需要再次修改文件,需要先清除缓存
1 2 3 4 5 6 # 清除缓存 git rm -r --cached . # 重新遍历文件 git add . # 提交文件 git commit -m "update .gitignore"
五、日志与撤销
使用 git status
可以查看仓库的状态
使用 git diff
查看上次提交修改的内容
使用 git log
查看历史记录,即日志,如果信息太多可以加上 --pretty=oneline
参数,此时可以看到 commit ID
在 commit ID 后如果有 HEAD -> master 则说明此为最新提交,也就是当前版本,Git 使用 HEAD
表示当前版本,上一个版本就是 HEAD^
,上上个版本是 HEAD^^
,往上 60 个版本可以写成 HEAD~60
回退到上一个版本 git reset --hard HEAD^
回退到指定版本:
1
2
3
4
git reset --hard commitID
# 例如 commit ID 为 eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0,可以写如下:
git reset --hard eaadf4
# 只要写前几位并可以识别就行,没必要写全
如果你操作失误回退了,请不要关闭命令行窗口,查看命令日志:git reflog
找到刚才的版本号回退即可
del
六、本地仓库链接 Github
本地创建了一个仓库,想要上传到 Github 的话,可以在 Github 上新建一个 repo ,然后将本地仓库链接远程仓库以上传
1
git remote add origin [email protected]:[your repo]
如果是从远程仓库克隆的不需要链接
然后是在本地做了一些修改并提交,需要推送至远程仓库
推送命令:git push origin master
命令为推送到远程仓库的 master 分支
这里需要注意的是使用 VS Code 创建的仓库默认分支为 master 而 Github 默认分支为 main,直接推送 git push origin main
会失败,可以先修改本地分支名字再推送
1
git branch -m master main
如果链接仓库时输入错了
首先查看远程仓库信息:git remote -v
然后删除:git remote rm RepoName
一般远程仓库名称为 origin,所以删除命令为 git remote rm origin
七、分支管理
暂时用不到,简单记录
创建分支:git branch cheny
切换到分支:git checkout cheny
提交到分支:git push origin cheny
八、创建服务端
九、其他
同时使用 GitLab 和 Github:document-library/Git-study.md at master · LiangJunrong/document-library (github.com)
参考文章
document-library/Git-study.md at master · LiangJunrong/document-library · GitHub
Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)