GIT的基础使用
创建库
- git init
- git remote add origin
- git add .
- git commit -m “日志”
检出库
- 创建一个本地仓库的克隆版本
- git clone </path/to/respository>
- 从远程服务器克隆
- git clone 远程地址
基本配置
- .ignore文件的作用:排除提交
- 目录/
- *.扩展名
常用的命令
- git status //检查状态
- 什么是Stage
- git log //查看日志
- git rm --cached //移除缓存(某些不该被提交的文件)
- git reset //回滚到某个提交
checkout与checkout – 的区别
- git checkout //切换到已存在的分支
- git checkout -b //创建新的分支(多人合作开发时,不应该在同一个分支上进行工作,应该在自己的工作分支TASK上进行工作,然后将分支进行合并)
- git push origin //推送到远程的指定分支
- git checkout – //取指定文件,病覆盖本地文件
- git checkout . //取消本地所有未提交的修改(慎用)
pull与fetch
- pull 在当前分支上取最新的版本并尝试合并
- fetch取远程库上的所有分支的改动到本地
origin与head的区别
- origin 远程库
- head 本地库
手动合并分支
从development向master分支合并"
- 保证development和master分支都是最新的代码,即在进行合并之前,分别从对应的分支上pull下最新的代码
- git checkout master //切换到master分支
- git meger --no --f development //–no-ff的目的是产生一个合并节点,方便以后查看代码合并的方向
- git push origin master
提交一个文件
- git add //.代表所有文件
- git commit -m “日志信息”
- git push origin
取消add
- git reset
查看本地修改
- git diff
创建一个分支(从development分支创建一个TASK分支)
- git checkout development //切换到development分支
- git checkout -b TASK //本地创建一个TASK分支
- git push origin TASK //提交到分支的服务器
- git branch //列出当前仓库中的所有本地分支
- git branch -a //列出远程上的所有分支
- git branch -m //本地修改(重命名)
- Git push origin //提交分支到服务器
- git branch -d //删除分支
从父分支更新:rebase与pull区别
- http://gitbook.liuhui998.com/4_2.html
- Git rebase //正常情况
- git rebase --continue // 有冲突时使用
- 每次解决一个文件并且add,再做git rebase --continue,直到看到Applying:全部完成
- git rebase --abort //还原到rebase之前的状态
如何取development分支上的最新代码到TASK?
- (需要先做add,commit后,切换分支到development)rebase后会自动回到TASK-1
在TASK上Add 并Commit所有改动(并push到服务器上) - git fetch //可选项,当需要用到的分支不存在时使用
- git checkout development // 切换到Development分支
- git pull origin development // 取Development最新代码
- git rebase development TASK // 尝试将Development最新代码合并到TASK-1,并切换回到TASK-1分支
- git rebase --continue // 可选项,当出现冲突时用来解决冲突,每次解决一个文件,直到看到Applying:完成
- git rebase --skip //当不存在冲突时,使用该命令
- git add 冲突文件名 // 可选项,与上一步联用,解决完的文件需要add才能解决下一个文件
- Git pull origin TASK // 如果rebase时出现冲突,这时也会出现冲突,如果出现冲突需要解决冲突后用add和Commit提交更改后才能进行下一步
- Git push origin TASK // 提交修改到服务器
官方教程
http://rogerdudler.github.io/git-guide/index.zh.html
https://services.github.com/on-demand/downloads/cn/github-git-cheat-sheet/