GIT 管理强化
什么文件可以被 Git 管理?
文本文件 (.txt) 等;
脚本文件 (.py) 等;
各种基于文本信息的文件.
什么文件不能被 Git 管理?
图片文件 (.jpg) 等;
MS word (.doc) 等.
git config **************
git init (创建版本库 init)
touch 1.py 增加文件
git status
git add ***
git commit -m ""
git log
git log --oneline
git status -s (缩写 信息)
git diff 可以查看Modified 的状态 (也是unStaged 状态)
查看 staged `--cached`
git diff --cached 可以查看Staged 的状态 与上个commit 状态的不用,,
查看 staged & unstaged `HEAD`
git diff HEAD 可以查看Staged 和 unStaged 状态
回到从前 (reset)
git commit --amend --no-edit (加入上一条commit)
回到 `add` 之前
git reset
git reset --hard HEAD 复位到最上面的git commit
git reset --hard HEAD~ 复位到上一个git commit
git reset --hard HEAD~2 复位到上上个git commit
git reset --hard commitID (复位到 ID)
git reset 回到过去,未来,,,
git reflog 查看到每一步的操作变化
回到从前 (checkout 针对单个文件)
针对一个文件的恢复到原来的状态:
git checkout commitID -- 1.py
checkout 和 reset 回到过去进行修改的逻辑不一样,,checkout 不会修改id
Branch:
merge 分支冲突
rebase 分支冲突
git log --oneline --graph
git branch dev(create branch dev)
git branch
git checkout dev(切换到dev分支)
git checkout master
git branch -d dev(delete branch dev)
另外一种建立分支 checkout
git checkout -b dev(直接移到dev 分支)
git commit -am "chang 4444444" (add + commit 需要注意是已经在git 管理的文件)
将dev 合并到 master 分支上
git merge --no-ff -m "keep merge info" dev
git log --oneline --graph ()
分支冲突处理::
人工处理
git merge
rebase
git_hub