Git基础
1、基本说明
1-1 配置说明
基本设置
#查看所有配置
git config -l
#查看用户配置
git config --global --list
必要设置
git config --global user.name "用户名"
git config --global user.email "电子邮件"
1-2 工作区域
GIt在使用的时候一般会用到以下四个区域
- 工作目录
工作目录就是本地的一个目录,可以将本地的代码文件复制到该目录,以便进行后续操作。
使用git init 命令新建一个工作目录 - 暂存区
git提供的一个用于临时存放你工作目录中的改动
使用git add .命令将工作目录中的改动提交至暂存区 - 本地仓库
安全存放数据的地方,提交到所有版本的数据,其中head指向最新放入仓库的版本
使用git commit命令将暂存区中的文件提交至本地仓库 - 远程仓库
托管代码的服务器,比如GitHub网站
使用git push命令将本地仓库中的内容提交至远程服务器
2、文件操作
2-1 常用git命令
# 查看指定文件状态
git status [filename]
# 查看所有文件状态
git status
# 添加文件的暂存区
git add .
# 提交暂存区的内容到本地仓库
git commit -m "注释内容"
#恢复历史版本
git reset --hard 版本号
2-2 忽略文件
忽略文件
在主目录下建立".gitignore"文件,该文件规则如下:
-
#为注释,不起作用
-
可以使用Linux通配符。* 代表任意多个字符,? 代表一个字符,[]代表可选字符范围,{}代表可选字符串范围
- !代表不能被忽略的·
-
/ 要忽略的目录,注意只会忽略文件,不会忽略目录
3、使用流程
Git使用流程
-
创建本地仓库,有如下两种方法
-
在当前目新建一个Git代码库
git init
-
克隆远程仓库
git clone [url]
可以去Github或者Gitee
-
-
提交至暂存区
git add .
-
提交至本地仓库
git commit
常用参数 -m 添加备注
git commit -m '备注信息'
-
添加远程主机
# 添加一个远程主机 git remote add origin(远程主机名,自己取即可) <远程主机地址> # 查看远程主机名 git remote -v
-
提交至远程仓库
git push <远程主机名> <本地分支名>:<远程分支名>
报错:error: failed to push some refs to ‘远程仓库地址’
解决1:说明本地和远程仓库没有同步(一般是由readme.md导致的) 使用如下命令同步:
git pull origin(origin为远程仓库名) master(master为远程仓库上的分支)
解决2:强制推送(不建议使用),会覆盖掉远程仓库上的所有文件
git push -u origin master -f
4、分支管理
说明:将任务从主线中分离出来,可以使多个任务同时进行。
4-1 分支命令
常用操作分支的命令(本地)
# 1.创建本地分支
git branch <branch-name>
# 2.查看本地分支
git branch -v
# 3.切换分支
git checkout <branch-name>
# 4.将指定的分支合并到当前分支上
git merge <branch-name>
# 5.创建并切换到新分支
git checkout -b <new-branch-name>
# 6.删除分支
git branch -d <branch-to-delete>
常用操作分支的命令(远程)
# 1.查看所有远程分支
git branch -r
# 2.根据远程分支创建本地分支
git checkout -b <本地分支名> <远程主机名>/<远程分支名>
# 3.推送本地分支至远程
git push -u <远程主机名> <本地分支名>
4-2 合并冲突
冲突表现:当产生冲突时会在我们当前的分支后面家加一个MERGING的提示;
冲突原因:合并分支时,两个个分支在相同的位置做了不同的修改,git不知道该如何更新,故产生冲突。
冲突后的文件内容会多出提示符,如下所示:
<<<<<<< HEAD
Hello Git
=======
Hello World
>>>>>>> test
解决方案:
- 手动决定要选择的内容,删除特殊提示符
- 提交到暂存区, git add .
- 提交到本地仓库,git commit
5、常用操作
5-1 git stash
作用:用于临时保存在工作目录和暂存区中尚未提交的改动,并且可以恢复这些改动。
场景:临时切换分支
用法:
# 1.保存当前修改
git stash
#2.添加注释
git stash save "注释内容"
#3.查看stash列表
git stash list
#4.恢复近一次的stash
git stash pop
#5.恢复指定的stash
git stash apply stash@{编号}
#6.删除指定的stash
git stash drop stash@{编号}
5-2 git cherry-pick
作用:选择性的将一个或者多个提交应用到当前分支。
场景:将其他项目上的commit添加到当前项目上
用法:
# <commit-hash> 为你想复制到当前分支上的那个提交的哈希值
git cherry-pick <commit-hash>