记录一下git使用小结。
一.特点
分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
二.原理
- workspace: 本地的工作目录。
- index/stage:暂存区域,临时保存本地改动。
- local repository: 本地仓库,只想最后一次提交HEAD。
- remote repository:远程仓库。
三.配置及命令
1 2 3 4
| git init //创建 git clone /path/to/repository //检出 git config --global user.email "you@example.com" //配置email git config --global user.name "Name" //配置用户名
|
1 2 3 4 5
| git add <file> // 文件添加 git add . // 所有文件添加 git commit -m "代码提交信息" //文件提交 git commit --amend //与上次commit合并 git push origin master //推送至master分支
|
1 2 3 4 5 6
| git pull //更新本地仓库至最新改动 git fetch //抓取远程仓库更新 git log //查看提交记录 git status //查看修改状态 git diff//查看详细修改内容 git show//显示某次提交的内容
|
1 2 3 4 5 6
| git reset <file>//某个文件索引会回滚到最后一次提交 git reset//索引会回滚到最后一次提交 git reset --hard // 索引会回滚到最后一次提交 git checkout // 从index复制到workspace git checkout -- files // 文件从index复制到workspace git checkout HEAD -- files // 文件从local repository复制到workspace
|
1 2 3 4 5 6
| git checkout -b branch_name //创建名叫“branch_name”的分支,并切换过去 git checkout master //切换回主分支 git branch -d branch_name // 删除名叫“branch_name”的分支 git push origin branch_name //推送分支到远端仓库 git merge branch_name // 合并分支branch_name到当前分支(如master) git rebase //衍合,线性化的自动
|
1 2 3 4
| git diff //对比workspace与index git diff HEAD //对于workspace与最后一次commit git diff <source_branch> <target_branch> //对比差异 git add <filename> //修改完冲突,需要add以标记合并成功
|