基础操作
查看 git 版本
1 | git --version |
设置用户签名
1 | git config --global user.name 用户名 |
Git 首次安装必须设置一下用户签名,否则无法提交代码。
初始化本地库
1 | git init # 会将当前文件夹初始化为一个git仓库 |
graph LR A(普通仓库A) -- push --> B(空仓库) B --pull--> A B --pull--> C(普通仓库B) C --push--> B
普通仓库只能往空仓库进行推送和拉取,不能直接推送到另一个普通仓库,需要空仓库作为中介。
所以远程仓库应该建为空仓库
查看本地库状态
1 | git status |
添加暂存区
1 | git add 文件名 |
提交本地库
1 | git commit -m "日志信息" 文件名 |
查看历史版本
1 | git reflog 查看版本信息 |
版本穿梭
1 | git reset --hard 版本号 |
分支操作
查看分支
1 | git branch -v |
创建分支
1 | git branch 分支名 |
切换分支
1 | git checkout 分支名 |
合并分支
1 | git merge 分支名 |
冲突产生的原因: 合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替 我们决定使用哪一个。必须人为决定新代码内容。
解决冲突
编辑有冲突的文件,删除特殊符号,决定要使用的内容
特殊符号:
1
2
3
4
5<<<<<<< HEAD
当前分支的代码
=======
合并过来的代码
>>>>>>> hot-fix
- 添加到暂存区
- 执行提交(注意:此时使用 git commit 命令时不能带文件名)
远程仓库操作
创建远程仓库
1 | git init --bare [仓库名] |
创建远程仓库别名
1 | git remote -v # 查看当前所有远程地址别名 |
推送本地分支到远程仓库
1 | git push 别名/远程地址 分支 |
克隆远程仓库到本地
1 | git clone 远程地址 |
clone 会做如下操作:
- 拉取代码。
- 初始化本地仓库。
- 创建别名。
拉取远程库内容
1 | git pull 远程库地址/别名 远程分支名 |