Git入门
注意:仅个人学习不做商用
-
创建版本仓库
-
添加文件
-
查看结果
-
提交修改
-
查看提交日志
-
回退到上一个版本
-
查看每次的命令记录
-
丢弃工作区的修改
-
丢弃缓存区的修改
-
从仓库中删除文件(误删还原)
-
创建远程仓库
-
分支管理
-
解决冲突
-
临时修复bug
-
远程库
-
推送分支
-
多人合作
-
标签管理
以上18点Git基本操作参考公众号:全栈软件测试之路 mp.weixin.qq.com/s/BpL7fT3VV…
Git配置SSH Key
-
检查本机是否有ssh key设置,切换到.ssh目录
cd ~/.ssh 或cd .ssh -
配置git用户名和邮箱
# 添加用户 git config --global --add user.name "username" # 添加邮箱 git config --global --add user.email "email" # 查看配置 git config --list # 移除用户 git config --global --unset user.name "username" # 移除邮箱 git config --global --unset user.email "email" # 移除用户或邮箱,解决warning: user.email 有多个取值 git config --global --replace-all user.email "email" -
生成成对的私钥公钥
ssh-keygen -t rsa -C "test@qq.com"注:生成id_rsa私钥公钥时需要命不同文件名,密码可设可不设。
-
添加ssh key到对应的GitHub或GitLab上面: 登录
GitHub系统;点击右上角账号头像的“▼”→Settings→SSH kyes→Add SSH key。复制id_rsa.pub的公钥内容到Key填写框内。 -
测试公钥配置是否成功
ssh -T git@github.com
同一台PC端配置多个git账号(windows)
- 第一个账号的设置跟上面的一样
- 第二个账号设置时重命名文件
id_rsa, 后面的步骤可以一路回车
$ ssh-keygen -t rsa -C "test@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Admin/.ssh/id_rsa):/c/Users/Admin/.ssh/id_rsa_github
- 在/c/Users/Admin/.ssh 目录下新建文件config,进行配置:
# gitee.com
Host gitee.com
Hostname gitee.com
User git
PreferredAuthentications publickey
IdentityFile C:\Users\\admin\.ssh\id_rsa
# github server
Host github.com
Hostname github.com
User git
PreferredAuthentications publickey
IdentityFile C:\Users\\admin\.ssh\id_rsa_github
- 添加ssh key到对应的GitHub或GitLab上面: 登录
GitHub系统;点击右上角账号头像的“▼”→Settings→SSH kyes→Add SSH key。复制id_rsa.pub的公钥内容到Key填写框内。 - 测试:
ssh -T git@github.com
ssh -T git@gitee.com
合并分支
合并步骤:
-
进入要合并的分支(如开发分支合并到master,则进入master目录)
git checkout master git pull -
查看所有分支是否都pull下来了
git branch -a -
使用merge合并开发分支
git merge 分支名 -
查看合并之后的状态
git status
-
有冲突的话,通过IDE解决冲突;
-
解决冲突之后,将冲突文件提交暂存区
git add 冲突文件
-
提交merge之后的结果
git commit如果不是使用git commit -m "备注" ,那么git会自动将合并的结果作为备注,提交本地仓库;
-
本地仓库代码提交远程仓库
git push -
删除本地分支
git branch -D develop
- 删除远程分支
git push origin --delete dev20181018
git将分支合并到分支,将master合并到分支的操作步骤是一样的。
如果本地分支比master分支版本低,怎么办?
- 将master分支合并到本地分支:
git merge master - 查看是否有冲突:
git status - 有冲突的话,通过IDE解决冲突;
- 解决冲突之后,将冲突文件提交暂存区:
git add 冲突文件 - 提交merge之后的结果:
git commit -m 备注 - 本地仓库代码提交远程仓库:
git push
常用命令
git clone url #克隆远程仓库
git --version #查看git的版本信息
git branch #查看本地所有分支
git branch -a #查看所有的分支
git branch -r #查看远程所有分支
git branch dev #创建分支
git branch -D master develop #删除本地库develop
git checkout dev #切换到本地dev分支
git checkout -b dev #创建分支并切换分支
git checkout --track origin/dev #切换到远程dev分支
git commit #提交
git commit -am "test" #提交并且加注释
git commit -m [message] #提交暂存区到仓库区
git commit -v #提交时显示所有diff信息
git status #查看当前状态
git remote show #查看远程库
git remote add origin url #添加远程库
git remote show origin #显示远程库origin里的资源
git pull #本地与服务器端同步
git push origin master #将文件给推到服务器上
git push origin master:develop #将本地库develop与服务器上的库进行关联
git push origin master:my-dev #将本地库与服务器上的库进行关联
#将分支dev与当前分支进行合并
git merge origin/dev
#将文件加入git
git add read.txt
#从git中删除指定文件
git rm read.txt
# 推动本地分支到远程仓库
git push origin feature-branch:feature-branch
# 删除本地分支
git branch -d dev20181018
# 强制删除本地分支
git branch -D master
# 删除远程分支
git push origin --delete dev20181018
# 删除缓存区.idea(保留工作区.idea)
git rm --cached -r .idea
# 提交gitiginore文件,将.idea从源代码仓库中删除(-m 表示注解)
git commit -m "commit and remove .idea"
#推送到远程端
git push origin master
# 查看被修改的内容
git diff <文件名路径>
# 查看暂存区的文件
https://www.cnblogs.com/panbingwen/p/10736915.html
git ls-files
# 查看暂存区中文件的内容
git ls-files -s -- bb.txt 或者直接 git ls-files -s
git cat-file -p 6cef
将本地代码上传到远程仓库
-
远程仓库新建仓库
-
本地仓库代码提交到暂存区
git init git add . git commit -m 'init project' -
暂存区代码提交到远程仓库
git remote add origin git@github.com:username/***.git git push -u origin master
恢复被修改的文件
执行了git add操作, 取消暂存
git restore --staged 1.txt
文件已经到了暂存区,即之行了git add 和 git commit 操作
git reset HEAD -- 1.txt
git checkout -- 1.txt
文件已经push到了远程仓库
git log <file_name> # 得到commit 时的hash
git checkout <hash> <file_name> # 这时就已经恢复到指定的提交版本了
git commit -m "revert to previous version" # 重新提交文件
git终端中文乱码怎么办
git status 乱码
解决方法: git config --global core.quotepath false
git commit 乱码
解决方法: git config --global i18n.commitencoding utf-8
git status 乱码
解决方法: git config --global i18n.logoutputencoding utf-8
大车常用命令
1、进入root权限
sudo su -
2、进入wwwroot
cd /data/wwwroot
3、查看该文件下全部文件
ll
4、进入xiaoe_admin
cd xiaoe_admin
5、查看
ls
6、进入需要的文件里面
7、查看远程分支
git branch
8、查看日志
git log -p
问题点
此时要从当前分支切换到另一个分支
1、再次查看远程分支
git branch
2、查看当前文件下所有的分支
git fetch --all
3、查找该文件下 tag的灰度
git tag |gre
4、切到想要的tag下
git tag |grep 8.49.3
5、切换分支
git checkout 8.49.3
6、再查看分支是否切成功
git branch