git基本操作

怎甘沉沦 提交于 2020-01-29 07:02:09

git

git commit、git push、git pull、 git fetch、git merge 的含义与区别

  • git commit:是将本地修改过的文件提交到本地库中;
  • git push:是将本地库中的最新信息发送给远程库;
  • git pull:是从远程获取最新版本到本地,并自动merge;
  • git fetch:是从远程获取最新版本到本地,不会自动merge;
  • git merge:是用于从指定的commit(s)合并到当前分支,用来合并两个分支;

git基本操作

克隆一个项目

  1. 创建一个空目录
mkdir project
  1. 进入目录
cd project
  1. 展开当前目录路径
pwd
  1. 通过git init将这个目录变成git可以管理的仓库
git init
  1. 创建一个说明文档
git add README.md
  1. 通过git clone将远程仓库克隆到本地
git clone https://github.com/ruanyf/jstraining.git

创建一个README.md

  1. 进入目录
cd project
  1. touch新建一个README.md文件
touch README.md
  1. add一个README.md文件添加到缓存
git add README.md
  1. 5查看在你上次提交之后是否有修改
git status
  1. commit最近的更改
git commit -m 'add README'
  1. push到远程库
git push -u origin master

(此时会让输入账号密码,所以需要配置账号密码)

$ git config --global user.name 'name'
$ git config --global user.email 'email'

git创建ssh

  1. 安装git
  2. 创建全局用户名和密码
git config --global user.name "easterCat" 
git config --global user.email "your email"
  1. 生成key
ssh-keygen -t rsa -C "fuhuodemao@163.com"
  1. 查看密钥
cat ~/.ssh/id_rsa.pub
  1. 将上面的ssh密钥粘贴到ssh key位置就行了

git常见命令

git命令

  • git status
  • git diff
  • git add提交放到暂存区
  • git commit把暂存区的提交到分支
  • git log查看commit的历史记录,可以加参数(--pretty=oneline)
  • git reset回退版本,参数(--hard)
  • git reflog记录自己的命令
  • git checkout -- file回到最近一次commit或add的状态
  • git rm
  • git remote add 本地仓库和远程仓库关联
  • git push
  • git clone
  • git tag打标签

创建分支,合并

git branch dev //创建分支
git checkout dev //切换分支
git branch //查看分支
git add //提交暂存区
git commit //提交dev分支
git checkout master //切换回主分支

<!--合并-->
git merge dev
git branch -d dev //合并完删除
git branch //再次查看分支
  • git branch 查看分支
  • git branch 创建分支
  • git checkout 切换分支
  • git checkout -b 创建+切换分支
  • git merge 合并某分支到当前分支
  • git branch -d 删除分支

有时候合并需要解决冲突git status和git log --graph可以查看

提交/关联远程库

git init 
<!--本地关联远程库-->
git remote add origin git@github.com:a792751238/easter_react.git
<!--把当前master提交到origin msater,首次提交加-u可将master关联,之后操作方便-->
git add file(或者git add . 提交全部到暂存区)
git commit -m 'value' 提交到本地分支
git push -u origin master
<!--之后就可以使用简写-->
git push origin master 推送到远程分支origin master

git remote rm origin 删除远程库

git合并多个commit

git rebase -i --autosquash  

<!--通过vim将需要合并的commit的pick改为squash-->
<!--vim输入:wq执行保存退出的命令-->
:wq

Pony Foo提出另外一种合并commit的简便方法,就是先撤销过去5个commit,然后再建一个新的。

git reset HEAD~5
git add .
git commit -am "Here's the bug fix that closes #28"
git push --force
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!