这篇文章总结了廖雪峰老师的git教程中的一些操作,还加入了一些在视频课程里学到的内容。
Git学习参考了廖雪峰老师的教程和最近听的全栈课程里的介绍,以下是笔记,有些不全,后期学到了再来补。
1. 安装
1 2 3 4
| 1. homebrew install git (npm/cnpm都可以,使用包安装工具就行,直接下载包应该也没问题) 2. git --version 查看版本 3. git config --global user.name 查看/修改用户姓名 4. git config --global user.email 查看/修改用户邮箱
|
只有第一次使用的时候需要设置user.name和user.email,方便以后提交的时候知道由谁提交的内容。
操作
1 2 3
| $ mkdir learngit(库名,可自定义) $ cd learngit(库名) //进入库目录 $ pwd //显示当前目录
|
- 把这个目录变成Git可以管理的仓库(只有执行一次)
1 2
| $ git init Initialized empty Git repository in /Users/xxx/learngit/.git/
|
1 2 3 4 5 6 7
| 1. 在根目录下添加txt文件 2. $ git add xxx.txt 3. $ git commit -m "xxx” //-m后面输入本次提交的说明
小技巧 添加文件时可以添加目录下的全部文件 git add -A 或 git add.
|
- 查看提交结果
文件一般有两种状态:untracked(未追踪)和modified(被修改)
1 2 3 4 5
| git log // git log --pretty=oneline(查看简洁版)
小技巧 q可以退出git log 或git diff
|
1 2 3 4
| git reset --hard HEAD^ //git reset --hard HEAD~100 往上100个版本 //gig reset --hard xxxxx(版本号) //git log查看时会有每个操作的ID号,复制前面几位作为版本号即可恢复到指定版本
|
1
| git checkout -- <filename>
|
1
| git reset HEAD <filename>
|
- 删除文件
- 从文件夹删除
rm <filename>
- 从版本库删除
git rm <filename>
- 从版本库恢复
git checkout -- test.txt
- .gitignore文件
- 创建.gitignore文件,在文件内部列出不希望被同步到暂存区的文件名,可以避免commit时被同步提交
工作区 & 暂存区
工作区
- 版本库 —— 隐藏目录.git
- stage —— 暂存区
- master —— 第一个分支
- HEAD —— 指向master的一个指针
添加文件
- git add —— 添加到暂存区
- git commit —— 把暂存区的所有内容提交到当前分支
关联远程库
- 关联
- 如果将文件推送到github或其他平台会需要每次提交账户、密码信息,可以生成SSH秘钥,放到平台账号的设置里 (生成一个即可在各个平台上使用)
1
| git remote add origin git@github.com:xxx/learngit.git
|
切换远程库
1
| git remote set-url origin git@github.com:xxx/learngit.git
|
推送内容
1 2
| git push -u origin master //第一次推送(推送+关联master分支) git push origin master //之后推送
|
1
| git clone git@github.com:xxx/gitskills.git
|
分支管理
1 2 3
| git branch dev //创建 git checkout dev //切换分支 git checkout -b dev //-b 创建并切换
|