Git笔记
安装及下载地址
-
windows下
-
默认安装就行
笔记参考网址
初始化信息
在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。
- 配置提交人姓名:
git config --global user.name "Your Name"
$ git config --global user.name "wanjunbook"
- 配置提交人姓名:
git config --global user.email "email@example.com"
$ git config --global user.email "tzwj__1983@163.com"
- 查看git配置信息:
$ git config --list
快速使用
-
初始化一个Git仓库:
git init
-
添加文件到Git仓库:
-
查看哪些文件被修改过:
git status
(查看修改内容:git diff
) -
添加一个或多个文件:
git add <file>
(添加所有所有文件:git add .
)$ git add test.txt
-
向仓库中提交代码:使用命令
git commit -m <message>
$ git commit -m "a"
-
查看提交记录:
git log
-
基本概念
-
工作目录
- 被Git管理的项目目录
-
暂存区
- 临时存放被修改文件
- 使用
git add <file>
命令使当前工作目录的版本到暂存区中
-
git仓库
- 用于存放提交记录
- 使用
git commit
使暂存的版本到git仓库中
恢复和删除
-
用暂存区中的文件覆盖工作目录中的文件:
git checkout -- <file>
- 命令中的
--
很重要,没有--
,就变成了“切换到另一个分支”的命令
-
将文件从暂存区中删除:
git rm --cached <file>
-
用于删除一个文件,同时删除工作目录和暂存区中的文件
git rm -f <file>
-
将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:
git reset --hard commitID
-
用工作区覆盖暂存区:
git reset HEAD <file>
分支
-
主分支(master):
- 第一次向 git 仓库中提交更新记录时自动产生的一个分支。
-
开发分支(develop):
- 作为开发的分支,基于 master 分支创建。
常用命令
-
查看分支:
git branch
-
创建分支:
git branch <name>
-
切换分支:
git checkout <name>
或者git switch <name>
-
创建+切换分支:
git checkout -b <name>
或者git switch -c <name>
-
合并某分支到当前分支:
git merge <name>
-
删除分支:
git branch -d <name>
- 分支被合并后才允许删除(-D 强制删除)
暂时保存更改
暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作。
- 存储临时改动:
git stash
- 恢复改动:
git stash pop
github使用
创建SSH Key
- 查看在用户主目录下如果有.ssh目录且子目录有id_rsa和id_rsa.pub这两个文件。如果没有,打开Shell(Windows下打开Git Bash Here),创建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"
具体操作时"youremail@example.com" 换成自己的邮箱地址。
ssh-keygen -t rsa -C "tzwj__1983@163.com"
- 登陆GitHub,打开“Account settings”-“SSH Keys”-“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
从远程库克隆
在当前目录下创建远程仓库
git clone git@github.com:tzwj1983/note-git.git
连接远程库
要关联一个远程库,使用命令
格式
git remote add origin git@server-name:path/repo-name.git
具体
git remote add origin git@github:tzwj1983/note-git.git
关联后, 第一次推送master分支的所有内容。
- git push -u 远程仓库地址别名 分支名称
- -u 记住推送地址及分支,下次推送只需要输入git push即可
git push -u origin master
每次本地提交使用命令,推送最新修改。
git push origin master
拉取当前分支最新代码
git pull
Git忽略清单
将不需要被git管理的文件名字添加到此文件中,在执行git命令的时候,git就会忽略这些文件。
git忽略清单文件名称:.gitignore