系统:centos7
------------------------------------------
安装:
sudo yum install git-all
创建文件后进入该文件:
cd ~/Desktop/gitOAO
创建用户:
git config --global user.name "yourname"
git config --global user.email "your@email.com"
建立git:
git init
------------------------------------------
通用: 主分支: master
git status # 查看版本库状态
git log # 显示历史修改记录
git log --oneline # 每个commit内容显示在一行
git add 1.py #将1.py添加进版本库,文件变成“可提交状态”(staged)
git add . #将文件夹中未被添加的文件全部添加进版本库
git commit -m"create 1.py" #提交这次的改变,信息为create 1.py
git commit -amend --no-edit # 不编辑,直接合并到上一个commit(修改已commit的版本)
git diff #查看未add的修改部分(unstaged)和上个已经commit的文件有何不同
git diff --cached #查看add后的文件(staged)和上个已经commit的文件有何不同
git diff HEAD #staged & unstaged
git reset # 回到add之前,针对整个版本库
git reset --hard HEAD # 回到上一次的commit,无论之前有没有add
git reset --hard HEAD^
git reset --hard c6762a1
git reflog # 查看最近做的所有HEAD改动
git reset --hard 904e1ba
git checkout c6762a1 --1.py # checkout + 过去ID + 文件,将该文件进行回到过去操作
-----------------------------------------
分支
git log --online --graph # 一行观看分支
git branch # 查看当前分支
git branch dev # 建立 dev 分支
git checkout dev # 把HEAD切换去dev分支
git checkout -b dev #创建并切换(HEAD)到新建分支dev
git checkout master # 切换到master分支(此时可以将其他分支内容合并过来)
git commit -am"change 3 in dev" # "-am" add所有改变并直接commit
git merge dev # 合并分支,将dev merge到master中
git merge --no-ff -m"keep merge info"dev # 保留merge的commit信息
git rebase dev # 合并分支
git rebase dev --continue # 继续rebase
rebase 仅在自己的分支中使用,不在和别人共享的部分使用
分支冲突时,提示冲突后通过git的标记手动修改
git stash # 暂存修改
git stash list # 查看在 stash 中的缓存
git stash pop # 提取并继续工作
------------------------------------------
ref:
https://morvanzhou.github.io/tutorials/others/git/