1、git clone
下载代码
git clone git@gitee.com:skyzqw/rr_code.git
2、fork分支开发
git remote add upstream git@gitee.com:skyzqw/rr_code.git //将本地分支和远程关联
git fetch upstream //将远端代码更新到本地
git rebase upstream/X.X.X //将原始项目指定分支上的修改合并到本地分支
如果有冲突 则需要解决冲突,解决之后
再执行 git rebase --continue
3、新建分支
cat .git/config 查看分支信息
git checkout -b v1.1.1 upstream/v1.1.1 //基于upstream的v1.1.1 在本地创建v1.1.1分支
git push origin //将本地的v1.1.1推送到自己的远端 这样自己远端就有了
切到其他分支 删除v1.1.1因为此时的v1.1.1是基于upstrem的
git branch -d v1.1.1
git checkout -b v2.1.3 origin/v1.1.1
4、提交代码
git stash push //将本地修改暂存
git stash pop //本地修改恢复
git add . //将当面目录下的修改提交到暂存去
git commit //提交修改到本地
git commit --amend //将上次提交和这次合并在一起
git push //推送到服务器
5、查看记录
git log //查看记录
6、版本回退
git checkout . //更新当前目录文件到最新 比如自己更改了文件,想回退到最新版本内容,可执行该命令
git reset --hard 版本号 //回退到指定版本, 仅本地回退,如果远程也需要回退,在需要push
7、引用外部文件
git submodule init
git submodule update 导入外部链接文件
8、git 命令配置
git config --global core.editor vim //git commit 输入信息用vim模式打开输入
9、git冲突
git mergetool
10 git push介绍
git push
命令将<本地分支名>
的代码推送到<远程主机名>
中的<远程分支名>
上。
git push <远程主机名> <本地分支名>:<远程分支名>
- 正常写法
填写所有的参数,这么写比较清晰明了,不容易弄混,适合<本地分支名>和<远程分支名>不一样的情况。举个栗子:
git push origin dev:test
意思是将本地的dev分支上的代码推送到远程主机名为origin中test的分支上。如果远程的test分支不存在,则会被创建,这也是一种创建远程分支的办法
2.省略:<远程分支名>
如果本地分支名和远程分支名一样的情况下,可以省略:<远程分支名>
。如果远程主机中不存在该分支,那么会被创建。我们就可以使用命令:
git push origin dev 代替 git push origin dev:dev
13 git lfs rebase问题解决
- git config lfs.fetchrecentcommitsdays 30 配置获取几个commit
- git config lfs.fetchrecentrefsdays 30 配置获取几天内的commit
- git lfs fetch --recent upstream 根据配置获取commit