Git的使用
参考链接
Git安装
Windows
Linux
Git命令
设置用户签名
权重 | 中文名 | 优先级 | 配置文件 |
---|---|---|---|
system | 系统级别 | 低 | /etc/gitconfig |
global | 全局级别 | 中 | ~/.gitconfig |
local | 仓库级别 | 高 | .git/config |
查看设置:
git config --global -l
git config --system -l
git config --local -l
或直接打开相应位置的gitconfig
文件
设置全局:
首次使用必须设置, 否则会报错
git cinfig --global user.name 用户名
git config --global user.email 邮箱
初始化项目 / init
git init
查看状态 / status
假如我新建了一个文件, 并在文件中添加了一些内容, 然后再执行:
git status
或者使用:
git status -s
添加暂存区 / add
现在我们有一个文件first.txt
, 由于我们只新建了这个文件, 所以他现在仍然处于工作区之中, 也正如上面两张图展示的那样. 现在, 如果我想把他添加到暂存区, 需要用如下命令:
git add first.txt
此时再看状态, 发现其状态已经发生了变化. 这说明这个文件被放在了暂存区了. 此时, 假如我们后悔了, 可以用如下命令在缓存区移除该文件:
git rm --cached first.txt
提交本地库 / commit
git commit -m "Test of commit" first.txt
可以通过git reflog
或git log
(更详细)命令查看日志信息:
git reflog
git log
4fa2714那一串是版本号
重复上述操作, 结果展示如下:
版本穿梭 / reset
git reset 4fa27
Git分支
分支特性
分支操作
命令 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定的分支合并到当前分支上 |
合并分支的演示(正常合并, 没有冲突):
如果分支有冲突, 比如, 我们在master分支和hot-fix分支都修改了first.txt
这个文件, 此时若执行合并命令, 则会如下所示:
此时git不知道为我们保留哪份修改, 所以我们要手动进行修改, 使用命令vim first.txt
打开该文件, 如图:
上面两个区域分别表示在master分支和hot-fix分支中的变化, 我们要手动修改这个文件, 如下:
然后提交即可, 整个流程如下:
远程库
常见的远程库
- GitHub
- Gitee
- GitLab
其中GitLab是基于局域网的
起别名
命令 | 作用 |
---|---|
git remote -v | 查看别名 |
git remote add 别名 URL | 起别名 |
之所以有两个, 是因为我们在fetch或push的时候都可以使用这个别名
推送到远程库 / push
由于之前设置过别名, 所以这里可以直接用别名, 由于是master分支, 所以:
git push note master
此时内容被成功地提交到了远程库中
其实上述过程中可能会弹出登陆窗口要求我们登录, 如果我们登录的账号就是仓库的所有者账号, 那自然没有什么权限问题, 但是假如我们有一个合作者, 他也要向远程仓库提交东西, 则我们需要在GitHub或Gitee中将其邀请到我们的项目中来以授予相应的权限:
拉取到本地库 / pull
git pull note master
克隆 / clone
git clone [HTTP/SSH]
团队协作
fork
和pull request
免密登录
ssh-keygen -t rsa -C 166@qq.com
-t
指定加密方式-C
指定描述
如上命令在~/.ssh/
目录下会生成一个公钥和私钥, 在GitHub/Gitee
中将这个公钥加入, 即可免密登录
同时配置Github与Gitee
IDEA集成
配置忽略文件
在xxx.ignore
文件中用通配符设置
评论区