git基本使用

110 阅读2分钟

删除远程分支

  • git push origin —delete gh-pages

设置别名

git config —global alias.co checkout

git config —global alias.st status

回退到上一个版本

  • git reset —hard HEAD^

  • git reset —hard  commitID

记录每一次命令

  • git reflog

将文件把暂存区的修改撤掉

  • git reset HEAD readme.txt
  • git checkout — readme.txt

查看是否存在ssh

  • ssh key
  • ls -al ~/.ssh

生成ssh

  • ssh-keygen -t rsa -C ‘email’

打开ssh

  • open ~/.ssh
  • cat .ssh/id_rsa.pub

关联远程库

  • git remote add origin git@server-name:path/repo-name.git
  • git push -u origin master第一次推送

查看log

  • git log --graph --pretty=oneline --abbrev-commit

可以查看分支合并图

  • git log —graph

git stash apply stash@{0}

复制一个特定的提交到当前分支dev

git cherry-pick 4c805e

自动给dev分支做了一次提交,提交的commit ID是新的,不是4c805e

创建远程origin的dev分支到本地

git checkout -b dev origin/dev

设置dev和origin/dev的链接

git branch —set-upstream-to=origin/dev dev

git pull

git rebase  把本地未push的分叉提交历史整理成一条直线

rebase操作可以把本地未push的分叉提交历史整理成直线

目的是使我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。

总结: 

  • git commit 
  • git pull 
  • git status 查看分叉了
  • git rebase 变直线了
  • git push

标签总是和某个commit ID挂钩。

  • git tag 新建一个标签,默认HEAD,也可以指定一个commit ID
  • git tag -a -m ‘blabla…’ 指定标签信息
  • git tag 查看所有标签

git fetch与git pull的区别

git pull == git fetch + git merge

git fetch: 可以理解为

全部更新取回本地

git fetch 远程主机名

git fetch 远程主机名 分支名

查看某分支在远程最新状态  FETCH_HEAD

git log -p FETCH_HEAD

git pull : 可以理解为

git fetch origin master 

git merge FETCH_HEAD

git push / git rebase