Git Learning

Git Learning

创建本地版本库

$ git init

版本操作

新增文件,提交

$ git add <filename>
$ git commit -m "some hints"

查看日志

# 一行显示log信息
$ git log --pretty=oneline

版本退回

# 退回到上一个版本
$ git reset --head HEAD^
# 退回到上两个版本
$ git reset --head HEAD^^
# 退回前第N个版本
$ git reset --head HEAD~N
# reset 到commit id,可以在git reflog中找到commit id
$ git reset --head <commit id>

git log查看提交历史,确定要退回到哪个版本

git reflog查看命令历史,确定要去到未来的哪个版本

管理修改

# 查看git当前状态
$ git status
# 查看当前工作区和版本库文件的不同
$ git diff HEAD -- <filename>
# 撤销修改
$ git checkout -- <filename>
# 把readme.md在工作区的修改全部撤销
$ git checkout -- readme.md

文件删除

$ rm <filename>
$ git rm <filename>
$ git commit -m "remove file..."
# 删除恢复,其实是将版本库的文件加载到工作区
$ git checkout -- <filename>

远程仓库

创建ssh-key

$ ssh-keygen -t rsa -C "youremail@example.com"
# 一路回车

那么在.ssh的目录里就会有两个文件,id_rsaid_rsa.pubid_rsa是私钥,不要泄露,id_rsa.pub是公钥,将公钥中的信息复制到Github的ssh-keys设置中(网页上操作)。

添加远程库

$ git remote add origin git:github.com:yourgithub/****.git

****.git指你在Github上的某个仓库

# 把本地库推送到Github远程库上
# 如果出现<reject>将 -u 改成 -fu,强制覆盖
$ git push -u origin master

克隆远程库

$ git clone git@github.com:<who's>/<gitname>.git

管理分支

创建、合并、删除分支

# 创建名叫dev的分支
$ git branch dev
# 切换到这个分支下
$ git checkout dev
# 以上两步可以用一步完成
$ git checkout -b dev

# 查看分支
$ git branch
# 将分支dev合并到master上,先切换到master
# git merge 是将指定分支合并到当前分支
$ git checkout master
$ git merge dev

# 删除分支
$ git branch -d <name>
原文地址:https://www.cnblogs.com/phil-chow/p/5922655.html