Git常用命令

208 阅读2分钟

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是远程分支名。

  1. git push origin master
    如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建

  2. 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到远端