1. 下载git代码
(1)首先下载git仓库的代码
git clone https://github.com/ShoreFlower/autoware.universe.git
(2)进入仓库
cd autoware.universe/
(3)切换分支
git checkout feature/autoware_dora
(4)查看提交历史
git log
2. 建立自己的分支并上传
(1)本地建立分支并切换到分支上
git checkout -b feature/test#表示git branch feature/test和 git checkout feature/test
(2)push feature/test
分支到远程仓库上面
git push origin feature/test
(3)查看所有的分支并且看情况删除某些分支
git branch -a #查看所有分支
git branch -D feature/test #删除本地的feature/test分支
git push origin --delete feature/test #删除远程分支feature/test
(4)提交feature/test
分支的内容修改到远程feature/test
分支上面
git add .
git commit -m "this is dev"
git push --set-upstream origin feature/test
#或者直接 git push origin feature/test(执行失败就用前者)
3. 添加错误的文件或者commit错误的内容
(1)撤销已经add,但是没有commit的问题
git reset HEAD
(2)撤销已经commit,但是没有push到远端的文件(仅撤销commit 保留add操作)
#撤销上一次的提交
git reset --soft HEAD^
#windows 系统使用提示 more,需要多加一个 ^(windows当中^才是换行符?)
git reset --soft HEAD^^
(3)撤销已经push到远端的文件
# 切换到指定分支
git checkout 分支名
# 撤回到需要的版本
git reset --soft 需要回退到的版本号
# 提交撤销动作到服务器,强制提交当前版本号
git push origin 分支名 --force
注意:
git reset --soft/hard 需要回退到的版本号
soft 和 hard的区别
soft
:保留本地当前工作区,用于重新提交(回退到指定版本号,回退的版本号代码会保留到本地工作区,本地工作区代码还是保留最后提交的状态)
hard
:不保留本地当前工作区,回退到指定版本号之后,同时本地工作区代码也回退,一定要谨慎使用
git push origin 分支名 --force
撤销后强制提交到当前分支的版本号状态,这里使用要谨慎
,
4 合并分支
4.1 使用merge命令合并分支
目标:将feature/test分支合并到master分支,如果要合并分支将master
替换为相应的分支名字,例如feature/autoware_dora
。
(1)首先切换到master分支上
git checkout master
(2)如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
如果是自己一个开发就没有必要了,为了保险期间还是pull
(3)然后我们把dev分支的代码合并到master上
git merge feature/test
如果有冲突,手动解决冲突就行。
(4)然后查看状态及执行提交命令
git status
On branch master Your branch is ahead of ‘origin/master’ by 12 commits. (use “git push” to publish your >local commits) nothing to commit, working tree clean
上面的意思就是你有12个commit,需要push到远程master上
最后执行下面提交命令
git push origin master
5 上传本地仓库
echo "# minyolo" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/ShoreFlower/minyolo.git
git push -u origin main
参考资料
[1]Git取消add 、 commit、push的命令
[2]GIT合并分支的三种方法
[3]Git建分支的基本步骤