git rebase
Git checkout
git checkout
Git branch -f
Git reset
Git revert
使用git init
进行初始化,此时位于工作区(git clone
也可以),git add
进入暂存区,git commit
进入仓库,git push
提交到远程仓库,本项目中使用git commit -s -m "feat: Add feat xyz (ADOS-1)"
-s 表示添加签名
创建一个GitLab仓库,并将其克隆到本地:
git clone https://gitlab.com/yourusername/yourproject.git
在本地创建一个新的分支以开始你的工作:
git checkout -b feature-name
开始在新分支上编写代码。
当你完成一部分工作后,提交更改到本地分支:
git add .
git commit -m "Add initial implementation of feature"
在推送你的更改之前,确保从主分支拉取最新的代码:
git checkout main
git pull origin main
git checkout feature-name
如果有冲突,你需要手动解决这些冲突,然后再次提交更改。
将你的更改推送到GitLab上的远程分支:
git push origin 本地分支名:远端分支名(若是名称一致可以直接用一个)
登录到GitLab,找到你的项目,选择“Merge Requests”。
点击“New Merge Request”,选择源分支(source branch)为你的功能分支,目标分支(target branch)通常为主分支或开发分支。
添加标题和描述,然后提交。
方法一:
可以直接拉取该分支,名为branch1
git clone -b(--branch) name url
方法二:
git clone url
这样拉取时可以拉取整个main函数,然后切换到具体的分支
1.检查远程分支branch1
是否已经存在本地。如果之前没有拉取过这个分支,你需要先将远程的branch1
分支建立为一个新的本地分支:
该命令是在本地建立分支,并拉取分支
git checkout -b branch1 origin/branch1
2.如果branch1
分支已经被之前拉取过并且已经作为一个本地分支存在,那么你可以直接切换到它:
git checkout branch1
分支合并,首先切换分支
再使用git merge
这种情况会合并分支并进行创建新版本
若有人先提交,则需要先git pull下来
会发现有修改的地方,此时进行修改后,重新进行push
(1)拉取远程branch1分支的最新更改
git fetch origin branch1
(2) 合并远程branch1分支到你的本地分支
git merge origin/branch1
在这个步骤中,Git会尝试自动合并两个分支。如果在同一个文件的相同位置有冲突,Git将无法自动解决这些冲突,并会停止合并过程,标记出冲突的文件。
(3) 检查冲突
当Git报告冲突时,它会在冲突的文件中插入特殊的冲突标记。这些文件现在处于未合并状态,你可以在命令行中看到它们:
git status
(4) 解决冲突
手动编辑这些文件,删除冲突标记,并决定保留哪一方的更改,或者合并双方的更改。
git fetch origin
git checkout branch1
git merge origin/branch1
一旦你解决了所有冲突,你需要使用git add
命令来标记这些文件,告诉Git冲突已经被解决,并git merge
, git commit
,git push
若没有关联就git push origin branch
进行关联
git reset --hard 版本号
git push
Git log --graph
首次建立仓库
Git init
Git add .
Git commit -m 'first commit'
Git remote add origin url (origin以后就对应url远程仓库,相当于给远程仓库起别名)
Git push -u origin master (推送本地master分支到url的master)
Git push -u origin dev(-u 就建立了链接)
回到家,clone下来
Git clone url (默认拉下来是master分支,但可以checkout到dev分支,这种情况默认是起别名origin)
Git checkout dev
改改改
Git push origin dev
在家开发了一半,到公司里要继续进行开发
Git pull origin dev(相当于fetch+merge,若有冲突进行打开合并)
每次只开发了一点,多次开发后需要进行合并
rebase变基
用法一:
Git rebase -i 版本号 (会将该版本号和之后的版本号进行合并)
Git rebase -i HEAD~3 (从当前HEAD开始找最近的三条记录进行合并)
用法二:
Git rebase 分支名称
用法三:
Git fetch origin dev
Git rebase origin/dev 防止合并分叉