学习一:
查看当前分支也看到修改没有更新项 git status
查看当前本地分支 git branch
查看本地和远程所有分支 git branch -a
gitlab/github 服务器更新到本地当前分支 git pull
更新远程分分支内容 git pull 远程地址
切换分支 git checkout 分支名
当前A分支合并B分支 git merge B分支名 (把B分支的内容合并到A分支:理解旧A合并新B的)
本地合并远程分支 git merge origin/dev (仓库名origin , dev 分支名)
新建分支 git checkout -b 分支名
删除本地分支 git branch -d 分支名
删除远程分支 git push origin -d 分支名
创建目录 mkdir 目录名
实例:
开发和测试提交和拉取代码流程:
1.git status 查看当前分支也看到修改没有更新项(如果有,走下面流程) (开发)
2.git add . 把工作时的所有变化提交到暂存区(添加后走下面流程) (开发)
3.git commit -m '备注' 备注提交到暂存区具体内容(例如修改了什么bug) (开发)
4.git push origin 分支名 推送到gitlab/github 服务器 (开发)
5.git pull 去测试服务器更新 (测试)
学习二:
1.git安装 (配置用户信息)
2.git 仓库
(1)创建本地仓库
mkdir xxx(目录名)
git init 初始化 (这个时候已经完成一个本地仓库了)
(2)添加文件到版本库
git add xxx(文件名)
git add -A (这个添加全部修改)
git commit -m '备注修改了什么'
3.工作流程
git status 查看未提交的文件
git add 把文件提交到暂存区
git commit -m "备注提交了什么内容" 暂存区提交到本地仓库
4.回滚
(1)工作区 未git add (工作区撤销)
git checkout -- xxx (暂存区的文件名) 把工作区环境弄干净(工作区撤销) 注意:--后面有空格
(2) 未提交,还在暂存区时回滚 (暂存区撤销)
git reset HEAD -- xxx (暂存区的文件名)
git status (查看状态)
如需要,把工作区撤销 :git checkout -- xxx (暂存区的文件名) 把工作区环境弄干净(工作区撤销) 注意:--后面有空格
(3) 已提交,回滚
git log (查看日志)
git reset --hard xxx (xxx是版本号)
git status (查看暂存区是否干净)
不干净就使用 git checkout -- xxx
5.远程仓库
(1)创建SSH key (需要把ssh key 放在对应项目ssh key 里)
进入ssh key 目录
cd ~/.ssh
key 在id_rsa.pub里
(2)添加远程仓库
本地仓库与远程仓库关联起来
git remote add <仓库名:自己起> xxx (xxx是仓库地址:git@github.com:lishujian/demo1.git)
本地仓库拉取远程仓库信息
git pull <xxx起仓库名字> test1:test2 拉取远程分支到本地:test1是远程分支名 test2是本地分支名 (可简写为git pull <起的仓库名字> <分支名>)(关联后可以用git pull)
推送本地仓库到仓库
方法1:
git push -u <仓库名> xxx1:xxx2 (xxx1是本地分支名,xxx2是远程分支名)
方法2:
git push -u <仓库名> xxx1 (指定远程分支xxx1,本地新建的分支,如果远程没有这个分支,远程会创建一个一样的分支名)
注意:远程没有一样的分支名的时候,第一次连接才用-u ,之后可以不用-u
(3)克隆仓库 (把项目从远程仓库下载到本地)
备注:
1.克隆的时候可以不用建立链接,但是推送的时候,就一定要建立链接
6.标签管理
7.其他
(1)git config --list 查看配置信息
(2)Git 清空工作区和暂存区 git clean -d
(3)Git GUI如何汉化设置成中文?_我真的爱发明的博客-优快云博客_git gui中文 git 汉化方法
(4)git branch -vv 查看本地分支与远程分支关联关系
(5)git branch --unset-upstream 撤销本地分支与远程分支关联关系
(6)--force 强制推送覆盖
(7)用git fetch 命令更新remote索引,之后就可以解决有部分远程分支没有展示出来
(8)本地分支与远程分支关联:
git branch -u 仓库名/远程分支名
或者使用命令:
git branch --set-upstream-to 仓库名/远程分支名
(9)一个项目多个不同的远程仓库
git remote add <xxx:为远程仓库起一个名称> <url:仓库地址> 关联远程仓库
git remote -v 查看本地仓库关联远程仓库名称 或者理解为查看远程仓库地址
git pull <xxx起仓库名字> test1:test2 拉取远程分支到本地:test1是远程分支名 test2是本地分支名 (可简写为git pull <起的仓库名字> <分支名>)
git push -u <仓库名> xxx1:xxx2 (xxx1是本地分支名,xxx2是远程分支名) (可以简写git push -u <起的仓库名字> <分支名>)
(10)关联知识点
关联仓库
本地分支与远程分支关联
(11)删除远程分支
git push origin --delete xxx xx是分支名