fork项目:
1.将项目A fork 到我自己的仓库中作为项目B
2.将项目B clone 到本地
git clone 项目B的git地址
3.将项目A 作为最新代码的参考标准(upstream 是远程仓库的别名,别名随意命名)
git remote add upstream 项目A的git地址
4.查看 upstream(A) 项目远程仓库 和 origin(B) 个人远程仓库
git remote 或者 git remote -v
将远程仓库(upstream)中新建的分支 xxx (origin中没有)导入到个人远程仓库(origin)中:
1.创建并切换到新的上游分支的本地版本
git checkout -b xxx upstream/xxx
2.将新的分支推送到个人远程仓库
推送xxx分支到远程origin仓库xxx分支,并且建立本地分支xxx的upstream为origin/xxx
git push -u origin xxx
如果本地分支已经存在:
1.切换到新的上游分支的本地版本
2.将新的分支推送到个人远程仓库
提交代码流程:
1.保存当前工作进度,会把暂存区和工作区的改动保存起来
git stash
使用git stash save 'message...'
可以添加一些注释
2.拉取远程代码,同步本地分支和远程分支
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull upstream xxx
git pull upstream xxx:xxx
远程主机名: upstream origin
git fetch upstream xxx(拉取)
git merge upstream xxx(合并)
pull = fetch + merge
3.恢复之前工作进度
git stash pop 恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区。
git stash pop --index 恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区)
git stash pop stash@{1}恢复指定的进度到工作区。stash_id是通过git stash list命令得到的
通过git stash pop
命令恢复进度后,会删除当前进度。
4.查看修改状态
git status
5.添加所有文件到暂存区
git add .
6.将暂存区的文件提交到本地仓库并添加提交说明
git commit -m "本次提交的说明"
7.将本地的 xxx 分支推送到 origin 主机的 xxx 分支
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin xxx
相等于:
git push origin xxx:xxx
git push origin HEAD:xxx
HEAD
是一个特别的指针,它是一个指向你正在工作的本地分支的指针,可以把它当做本地分支的别名,git这样就可以知道你工作在哪个分支
8.创建Merge Request,同步到远程分支。确保分支名相同。
如果在没有关联且没有指定分支的情况下,直接使用 git pull 命令,会提示你如下信息:
git branch --set-upstream-to=origin/<remote_branch> <your_branch>
操作:
git branch --set-upstream-to=origin/<remote_branch> <your_branch>
origin/remote_branch
是你本地分支对应的远程分支;your_branch
是你当前的本地分支