用户名设置
用户名定义和作用
定义
用户名可以分为系统用户级别和项目/仓库级别
- 系统用户级别是指当前操作系统的用户。
- 项目/仓库级别是指项目或仓库的用户,仅在当前仓库可用。
项目/仓库级别的用户名优先级大于系统用户级别。 如果没有设置项目/仓库级别的用户名,则会默认使用系统用户级别。 因此,在二者都没有的情况下,会出现提交代码失败的情况。 所以通常会在第一次安装git成功后设置系统级别的用户名
作用
用户名的作用是用于区分操作者,用户的签名信息可以在每次版本提交的信息中查看到。
用户名设置的常用命令
设置系统用户级别
设置系统用户名和邮箱
git config --global user.name userName
git config --global user.email email
设置项目/仓库级别
git config user.name userName
git config user.email email
查看用户
cat ~/.gitconfig
例子
本地库操作
初始化本地库
输入git init 即可初始本地库。
查看本地库状态
git status :查看本地库的状态 红色文件名说明文件还未添加到本地库中。即文件存在于工作区,尚未被追踪。 绿色文件名说明文件存在于暂存区。暂存区的文件可被提交或者移除
将文件添加到暂存区
git add . :将git仓库所在的文件夹下的所有内容添加到暂存区中 git add 文件名 :将git仓库所在文件夹下的某个文件添加到暂存区中
移除暂存区文件
git rm --cached 文件名 :将某个文件从暂存区中删除
将文件提交到本地库
git commit -m "提交附带的版本信息" 文件名 :提交某个文件,并附带该次提交的版本信息。 git commit -m "提交附带的版本信息" . :提交所有文件。并附带此次提交的版本信息。
从版本库中删除文件
git rm 文件名 : 从本地库中删除文件
修改文件
当本地的文件被修改时,输入git status ,被修改的文件名会变红 此时需要重新添加,提交文件
撤销修改
git checkout -- 文件名 :可以丢弃工作区中的修改。使文件回到最近一次git commit 或者git add 的状态。 如果文件修改后还没有被提交到暂存区中,则会回退到暂存区的版本。 如果文件修改后已经被提交到暂存区,则会回退到版本库的当前版面。 git reset HEAD 文件名 :可以将暂存区的修改撤销,回退到工作区。
版本管理
查看历史版本
git reflog :查看历史命令。包括简单的版本信息,以及版本跳转 git log :查看所有版本,包括提交作者,提交时间等具体信息。
跳转到指定版本
git reset --hard 版本号 :跳转到指定版本。 此时文件内容会跳转至第二次提交的版本。
远程库管理
远程库通常分为github、gitee、gitlab三种 在这三个平台上创建好仓库之后,即可将其与本地库的连接,便于团队合作等多人共同开发。
远程库操作
查看远程库
git remote -v :可查询当前本地库连接的远程库
连接远程库
git remote add 远程库别名(最好与本地库名称一致)远程库(http或者ssH密钥) :将本地库与远程库连接
删除本地库和远程库之间的连接
git remote rm 远程库别名 :取消本地库和远程库之间的连接关系。
推送
git push 本地库别名 本地库分支 :将本地库中的某个分支推送到远程库中。 如果仅写git push 则代表将本地库的master分支推送到远程库中
拉取
git pull 远程库别名 远程库分支 :将远程库分支上的内容拉取到当前本地库的分支上,并直接合并
克隆
git clone 远程库(http地址或者SSH密钥) :将远程库的内容克隆到本地中,并直接初始化本地库
分支管理
分支的定义和作用
定义
在版本控制中,可以通过分支实现多个任务的并行。即开发分支任务的时候不会对主线任务产生干扰。
作用
并行推进多个功能的开发,提高开发效率。分支的开发不会对主线版本产生影响。
对分支的管理操作
查看分支
git branch -v :查看当前存在的分支
创建分支
git branch 分支名 :创建分支
切换分支
git checkout 分支名 :切换到某个分支
删除分支
git branch -d 分支名 :删除指定分支
合并分支
git merge 分支名 :将指定分支合并到当前分支下。
冲突处理
合并分支的过程中可能出现俩个分支在同一文件的同一个位置有俩种不同的修改,此时git无法确定使用哪一种,需要人为选择解决的方法。 当出现代码冲突的时候,如果将代码提交推送,则在文件内容中会将冲突的地方标志出来。此时需要用户自行解决。将 <<<<<<<<<< --------------- >>>>>>>>>>>> 包含的内容修改完成以后,删去这三个标志符号,即为解决冲突。
|