Home Git 学习
Post
Cancel

Git 学习

整理一下自己学的 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 上克隆仓库到本地

  1. 克隆别人的仓库

如果不修改然后提交使用 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 提交比较好

参考:如何使用github给大佬递茶 - idealclover

如何在 GitHub 提交第一个 pull request

  1. 克隆自己的仓库

先在个人的设置处添加 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

八、创建服务端

参考:搭建Git服务端及同步到指定目录

九、其他

同时使用 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)

如何连接本地仓库与GitHub仓库_joy_we1的博客-CSDN博客

如何使用github给大佬递茶 - idealclover

如何在 GitHub 提交第一个 pull request

将本地master分支代码提交到远程main分支

git 修改.gitignore后生效

This post is licensed under CC BY 4.0 by the author.

数据库记录已下载画师作品

软件工程-软件过程与软件过程模型