Create
- 一个空的项目创建git
- cd ~/project/myprojects
- git init
- git add .
- 已经存在的给i他仓库克隆下来
- git clone git.ids111.com/xxxx/xxxxad…
Show
- 展示文件目前有哪些改变是没有暂存到本地缓存区的
- git status
- 对跟踪文件的更改
- git diff
- 对比分支差别
- git diff d2
- 查看commit提交记录
- git log
- 谁在文件中什么时候改变了什么
- git blame $file
- 查看由$ID提交的文件
- git show $id
- 查看所有分支
- git branch
Revert
- 回退到某个版本的提交
- git reset --hard xxxx(版本号)
- git reset --hard HEAD^ (回退到上个版本)
- git reset --hard HEAD~3 (回退到前3次提交之前,以此类推,回退到n次提交之前)
- git push -f 强推提交回退到的版本
- git revert是用于“反做”某一个版本,以达到撤销该版本的修改的目的
- git revert -n xxx(版本号)
revert: 适用场景: 如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法,最后会生成新的版本,这个版本撤销了你不想要的,保留了前后版本
Branch
- 切换分支
- git checkout $branch
- 把分支branch1合并到branch2
- git checkout branch2
- git merge branch1
- git commit -a 'xxxx'
- git push
- 基于HEAD创建一个分支
- git branch $branch
- 基于 branch1创建分支branch2
- git checkout -b branch2 branch1
- 删除某个分支
- git branch -d xxx
Update
1.fetch lastest changes from origin
- git fetch
- pull lastest changes from origin
- git pull
git fetch 和 git pull 的区别:
git fetch是从远程获取最新版本到本地,但不会自动merge。
而git pull则是会获取所有远程索引并合并到本地分支中来。效果相同时git pull将更为快捷。
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
Publish
- commit本地的文件
- git commit -a
- 给其他开发者打个补丁
- git format-patch origin 3.推送commit到origin
- git push
- 打个tag或者版本号
- git tag v1.0