//首先创建新的分支
git branch new_branch
//切换到另一个分支
git checkout new_branch
//修改代码,添加新的文件
git add .
//查看文件的状态
git status
//打包自己的改变
git commit -m "comment"
//推到远程服务器上
git push origin new_branch
// 拉远程master分支的最新变化到远程new_branch上
git pull --rebase origin master
拉取origin远程的master分支
// 拉远程new_branch分支的最新变化到master上
git checkout master
git pull --rebase origin new_branch
git status
这里具体讲解一下,状态主要分为三种状态
1)Untracked files → 文件未被跟踪; (即没有用add命令的情况)
2)Changes to be committed → 文件已暂存,这是下次提交的内容;(用add命令之后或者文件被修改了再用add命令)
- Changes bu not updated → 文件被修改,但并没有添加到暂存区。如果 commit 时没有带 -a 选项,这个状态下的文件不会被提交。(文件被修改但没有用再次add命令)
$git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: file2
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: file
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# file3
git push
git push 命令用于从将本地的分支版本上传到远程并合并。
命令格式如下:
git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
以下命令将本地的 master 分支推送到 origin 主机的 master 分支。
$ git push origin master
git pull origin next
如果远程分支(next
)要与当前分支合并,则冒号后面的部分可以省略。上面命令可以简写为:
$ git pull origin next
//更多请阅读:https://www.yiibai.com/git/git_pull.html
git pull —rebase origin next
git pull = git fetch + git merge
git pull --rebase = git fetch + git rebase
总结git merge和git rebase的区别:
merge:生成一个新节点,之前的提交分开显示。 rebase:不生成新节点,是将两个分支融合成一个线性的提交。
⚠️注意:在rebase的过程中,有时也会有conflict,这时Git会停止rebase并让用户去解决冲突,解决完冲突后,用git add命令去更新这些内容,然后不用执行git-commit,直接执行git rebase --continue,这样git会继续apply余下的补丁。
在任何时候,都可以用git rebase --abort参数来终止rebase的行动,并且mywork分支会回到rebase开始前的状态。