git初识
- 每个文件在Git中都只有三种状态
1. 已提交——已保存至本地数据库;
2. 已修改——已修改,但未提交保存;
3. 已暂存——把已修改的文件放在下次提交的清单中。
- 每个项目都有一个git目录,git目录是用来保存元数据以及对象数据库的
1. git clone命令得到的项目git目录为.git;
2. git clone --bear 命令得到的项目git目录为新建的目录本身。
- 工作目录下所有文件只有两种状态
1. 已跟踪——本来就被纳入版本控制管理的文件;
2. 未跟踪——其他文件。
- 查看当前配置信息或更改配置信息时使用
git config
命令
1. git config后加 --system是对所有用户使用该配置,接 --global则仅对当前用户使用该配置;
2. 后接--list时查看已有配置信息,(其中重复的变量名是来自不同的配置文件,git实际使用的是最后一个)
-
使用
git log
可以查看提交历史 -
修改最后一次提交
git commit --amend
(使用当前区域快照再次提交)
若前一次提交时,漏了其他修改过的文件可重新提交该文件后再使用此命令即可修改提交,若提交内容与修改前一致则相当于多一次修改提交说明的机会。 -
取消已修改文件
git checkout -- <file>
会取消所有修改过得文件,需谨慎使用 -
取消已暂存的文件
git reset HEAD <file>
(使用git status
时有提示) -
从远程仓库抓取数据
git fetch <仓库名>
(只拉取数据不自动合并) -
git pull
手工合并,同一时刻远程库有其他人更新时需要使用 -
远程重命名
git remote [旧名字] [新名字]
会导致分支名称发生变化 -
远程删除
git remote rm [库名]
获取项目仓库的方法
获取项目仓库的方法有两种:初始化新仓库和克隆现有仓库。
初始化新仓库
cd testfile //进入到创建的文件夹
git init //git初始化
touch test.md //创建新文件
vim test.md //编辑新文件
git add . //暂存
git commit -am "first commit" //提交至本地数据库
git remote add origin [远程git地址] //连接远程库
git push [远程库] [本地库] //推送到GitHub远程库
克隆现有仓库
使用 git clone <远程库连接>
进行克隆。
可使用 git remote查看当前的远程库,加上 -v时会显示对应的克隆地址。
git分支
- 创建分支
git branch [分支名]
- 切换分支
git checkout [分支名]
- 新建并切换分支
git checkout -b [分支名]
- 合并分支
合并分支时先切到旧分支再合并
git checkout [旧分支]
git merge [待合并分支名]
分支合并时出现冲突使用git shatus
查看状态 unmerged状态会列出来,手动解决冲突后再暂存,提交。
- 删除已合并分支
git branch -d [分支名]
若分支未合并时使用该命令会失败
一定要删除则使用 -D强制删除,git branch -D [分支名]
网友评论