https://www.liaoxuefeng.com/wiki/896043488029600
- 修改或者添加都要用
git add . / git rm
git commit
或者用小乌龟,git add加新文件;对modify的内容可以直接用小乌龟commit就会add & commit
git add
相当于放到暂存区,commit
提交到分支
丢弃修改–还没提交到master:
1、如果不在暂存区,那么执行git checkout -- file.txt
,就跟哭上一模一样//git clean -df貌似也有用,区别下次试试
2、如果在暂存区了,那么执行git reset HEAD file.txt
,git reset HEAD^1
就放回了工作区,然后git checkout -- file.txt
如果commit提交到版本库了,那么执行后文的回退版本的方法
- 回退版本
回退上一个版本版本git reset --hard HEAD^
回退某个指定版本 git reset --hard 1094a
如果获取不到之前的commit id,那么通过git reflog
获取
- 远程库相关
SSH如果第一次git push,会有个提示,输入yes
The authenticity of host ‘github.com (xx.xx.xx.xx)’ can’t be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?
克隆一份代码git clone git@github.com:michaelliao/gitskills.git
- 分支管理
- 查看分支
git branch
- 创建本地分支并切换到dev这个分支
git checkout -b dev
- 切换分支
git checkout dev
- 删除分支
git branch -d dev /git branch -D feature
大D的区别是这个分支没有被合并过? - 看分支合并图
git log --graph
- 重命名本地分支
git branch -m oldbranch newbranch
- 如果当前分支没有全部commit,就想切换分支:git stash缓存当前工作现场,然后
git stash pop
;git stash list
是查看用
如果某次提交想用于自己的分支,git cherry-pick xxxxcommitid
- 多人开发
远端有个dev分支计划合入,建议本地存一个分支,
git fetch origin dev
git checkout -b local_dev origin/dev
git pull
可以获取最新信息
然后基于local_dev创建一个自己的开发分支
- 忽略某个文件的改变
git update-index --assume-unchanged file