git 刷新远程仓库
有时候远程创建新的分支,本地没有,则需要同步
git remote update origin --prune
提交代码 git push
在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了
git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名。第一个master是本地分支名,第二个master是远程分支名。
-
git push origin master
如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建 -
git push origin master:refs/for/master
即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名。 refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要
3. git push <远程主机名> <本地分支名>
如果本地分支名与远程分支名相同,则可以省略冒号:
分支相关 git branch
查看分支
创建分支
git checkout -b <分支名>
基于HEAD 指针创建一个新分支,并切换到新分支git checkout -b demo origin/demo
基于远程demo分支创建本地demo分支git branch -d branchname删除分支
git 设置追踪关系
第一个 master 代表本地分支,第二个 master 代表远程分支
git branch --set-upstream-to=origin/master master
或
git branch -u origin/master
git diff <分支名> <分支名>
查看两个分支代码有何差异
merge后发现冲突太多,或者合并的分支代码并不是最新,那就直接撤销再合并好了。
git reset --hard HEAD
git版本回退
参考简书 git版本回退
git本地版本回退
Git reset --hard commit_id(可用 git log –oneline 查看)
git远程版本回退
git push origin HEAD --force #远程提交回退
github 远程和本地关联
- 1.在下创建一个仓库,并初始化master分支
- 2.在本地创建一个文件夹
- 3.git init
- 4.git remote add origin git@xxx
- 5.git pull origin master --allow-unrelated-histories
- 6.此时关联成功,后续正常提交代码
- 7.git push origin master,push到远端