为什么要用:下载zip只是当前分支,不能进行仓库push、pull、checkout
1. 下载Git
- 先判断是否已经下过Git:
cmd
git --version
-
若没有版本号出来,就去下载:https://git-scm.com/downloads (Windows、linux、mac去找对应下载资源)
-
如果有代理地址可以配置
cmd
git config --global http.proxy ip:port
git config --global https.proxy ip:port
2. 配置Git账户
-
先判断是否配置过:
-
查看全局Git配置
cmdgit config --global user.name git config --global user.email
-
查看特定Git仓库信息
cmdgit config user.name git config user.email
-
查看所有Git配置项
cmdgit config --list
-
配置Git账户:
cmd
git config --global user.name "xxx"
git config --global user.email "xxx"
- 创建ssh密钥:
ssh-keygen -t rsa -C "xxx"
java
[root@]# ssh-keygen -t rsa -C "xxx"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:lgf+3a1srOvDD0znv+/jiR3iwMaZtxW94k9FI1HzJAk xxx
The key's randomart image is:
+---[RSA 2048]----+
| Eoo+.|
| ooo|
| . . .o|
| . o ..o|
| S . . ..o|
| . oo+o+ .+|
| .O+=o=.|
| . Bo@+o|
| .+@*BB|
+----[SHA256]-----+
-
获取ssh密钥
-
windows:直接按照刚刚存放的路径打开,默认是/root/.ssh/id_rsa
-
mac:通过cat获取
cat /root/.ssh/id_rsa.pub
-
配置ssh密钥
这个pub记事本打开然后复制进去:
gitcode为例:github一样(找SSH and GPG keys)
- IDEA git clone不上,检查半天发现SSH代理没配置好。我在CentOS下设置的,可以问gpt找解决办法
①启动SSH代理:
bash
eval $(ssh-agent -s)
②将私钥添加到SSH代理:
bash
ssh-add ~/.ssh/id_rsa
③测试是否能成功连接Git服务器:
bash
ssh -T [email protected]
如果遇到这个报错:
这个警告是因为你的私钥文件(/root/.ssh/id_rsa)的权限设置不安全。ssh-add 和 ssh 命令要求私钥文件的权限非常严格,以确保只有当前用户可以访问这个私钥
加个命令就行:
bash
chmod 600 ~/.ssh/id_rsa
3. 检出代码
-
检出地址:
-
检出命令
- 直接复制需要的工程地址
cmdgit clone 工程地址
- 指定分支
-b 分支名
cmdgit clone -b 分支名 工程地址
-
其他命令
-
git branch:查看当前工程分支
-
git branch -r:查看远程分支列表
-
git pull:拉取分支最新代码
-
git push:推送本地变更的代码
-
git fetch:后去远程仓库最新分支变动,这个很有用。在你想操作分支创建新或者看其他人的分支时候,先操作下 git fetch 看下最新的分支变动。
-
git merge origin/master:将远程分支的 master 代码合并到本地分支 master 上
-
-
IDEA运用
- 只要代码是Git检出的,通过Git配置的IDEA打开工程,会自动被Git管理
- 分支使用
-
提交代码
-
查看记录
-
查看对比
-
合并分支
- merge:将一个分支的更改合并到当前分支,会生成一次新的合并提交,从而保留历史分支
- rebase:重新定位一系列提交,线性提交
-
冲突合并
-
选择,你要从哪个分支合并到 test 分支。右键选择 Merge into test
-
如果你合并到test分支的代码,有其他人也在同一行做了改变或者格式化了代码,就会弹出一个合并冲突。这个时候你需要点 Merge 进行合并。
-
在点击 Merge 后,你会看到具体冲突的代码是什么,你可以有选择的从左右合并到中,最后点击 Apply。这个时候要注意不要把让别人的代码合并丢喽。
-
合并完的代码,不要直接 push,你要先本地 install 看是否可以打包。以及如果可以运行的话,可以本地先跑一下。 最后 push 提交合并代码即可。
-
-
回滚分支:回滚提交和回滚push