目录
前言
- git安装好后,需要配置个人用户信息,其次配置ssh公钥,便于使用ssh连接克隆项目
一、git初始化配置
1、 初始化提交时的用户信息
- 设置你的用户名称与邮件地址 ,git每一次操作都会使用这些信息作为标识,并且它会写入到你的每一次提交中,不可更改
- 绑定全局信息
- git config --global user.name "自己的github或gitte的用户名"
- git config --global user.email "自己的github或gitte的绑定的主要邮箱"
- 可以使用命令查看全局配置信息
- git config [--global] -e 打开配置文件
- git config --list 或 git config user.name
2、 生成公钥并获取到github/gitte的授权
-
生成ssh key
- ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
- 注意:这里的
xxxxx@xxxxx.com
只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱 - 现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。
-
按照提示完成三次回车,即可生成 ssh key。通过查看
~/.ssh/id_rsa.pub
文件内容,获取到你的 public key- cat ~/.ssh/id_rsa.pub
-
复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。
-
添加后,在终端(Terminal)中输入
- ssh -T git@gitee.com
3、克隆远程仓库
- 去远程仓库复制仓库ssh/https等任意链接
- git clone 远程仓库链接
- 此时会在当前目录下创建新的目录并将远程仓库拉取到文件中,称之为本地仓库
二、 日常开发时git操作流程
1. 合并分支操作
- 首先切换到主分支,更新到最新
- git checkout master
- git pull
- 切换到分支,解决冲突
- git checkout local
- git rebase -i HEAD~2 //合并提交 --- 2表示合并两个
- git rebase master---->解决冲突--->git rebase --continue
- 分支合并,推送
- git checkout master
- git merge local
- git push
2. 修改远程分支名称
- 修改本地分支名称
- git branch -m <old branch> <new branch>
- 删除远程分支
- git push --delete <origin> <olr branch>
- 推送本地仓库的新分支到远程仓库
- git push <origin> <new branch>
- 将本地新分支与远程新分支建立联系
- git branch --set-upstream-to <origin>/<new branch>
三、 git常用命令汇总
1. branch
-
新建分支
- git branch <branch>
-
查看远程所有分支
-
git branch -r
-
git branch -a 【查看本地和远程的所有分支】
-
-
删除本地分支
- git branch -d <branch>
- git branch -D <branch> 【强制删除】
-
删除远程分支,删除后还需推送到服务器
- git branch -d -r <branch>
- git push origin:<branch>【删除后推送至服务器】
- 直接删除远程分支
- git push --delete <origin> <branch>
-
重命名本地分支
- git branch -m <oldbranch> <newbranch>
-
查看各个分支的最后一次提交
- git branch -v
-
查看那些分支合并入当前分支
- git branch –merged
-
查看哪些分支未合并入当前分支
- git branch –no-merged
2. checkout
- 切换分支
- git checkout <branch>
- 创建并切换分支
- git checkout -b <branch>
- 拉取远程分支并分化一个新分支
- git checkout -b <branch> <origin>/<remote-branch>
3. remote
- 查看本地仓库的远程地址
- git remote -v
- 为本地添加远程仓库地址
- git remote add origin <remote-url>
- 重命名远程名称
- git remote rename <origin> <old branch>
- 删除远程名称和i地址
- git remote rm <origin>
4. pull、fetch
- 拉取远程仓库到本地仓库
- git fetch origin 【合并前先询问】
- git pull origin 【直接合并到本地】
5. push
- 推送本地仓库到远程仓库
- git push <origin>
- 推送当前分支到远程仓库的分支
- git push <origin> <branch>
6. 其他命令
- git status 工作区的状态
- git diff [--cached] 查看提交后的代码和add的区别
- git log [--online] [--graph] 显示提交过的版本信息
- git reflog 查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
- git reset HEAD^ 撤销暂存区所有的添加内容(idea选择mixed)