git总结

参考资料:

git:http://blog.csdn.net/coder_pig/article/details/54346867

git submodule:https://www.cnblogs.com/nicksheng/p/6201711.html

repo:http://www.worldhello.net/gotgit/04-git-model/060-android-model.html

 

1. git

1. 概念

工作区: work
缓存区: stage
本地仓库: repository
远程仓库: remote

 

remote-->repository: fetch/clone
repository-->stage: reset
stage-->work: checkout

work-->stage: add
stage-->repository: commit
repository-->remote: push

文件状态:
tracked(已跟踪) untracked(未跟踪)
1.新建一个文件,该文件处于 Untracked 状态;
2.通过git add命令添加到缓存区,此时文件处于Tracked状态又或者说
此时这个文件已经被版本控制系统所跟踪,而且他处于Staged(暂存)状态;
3.通过git commit命令把暂存区的文件提交提交到本地仓库,此时文件
处于Unmodified(未修改)状态;
4.此时如果去编辑这个文件,文件又会变成Modified(修改)状态;

 

一:本地操作命令

1. 配置
git config --global user.name 账号 #github账号
git config --global user.email 邮箱 #github邮箱

git config --local user.name 账号   #github账号 本地变量会优先于上面的global全局变量   
git config --local user.email 邮箱   #github邮箱

git config --list
git help

2.创建本地仓库
git init 仓库名
git init


3. 添加文件到暂存区/将文件设置为追踪文件
git add 文件名
git add -A 所有文件(包括untracked的)
git add -u 除了未追踪的文件
git add .


4. 将暂存区文件添加入本地仓库
git commit -m "提交说明"


5. 查看工作区和缓存区的状态
git status
git status -s #更加简短


6. 对比内容变化
git diff    # 对比工作区和缓存区的差异


7. 查看历史提交记录:如果觉得信息显示太繁琐  可以加上参数  --pretty=oneline
git log

 

二:版本回退命令

1. 查看当前commit的对比信息
git show 提交id    #查看当前commit的对比信息
2. 删除暂存区的文件
git rm 文件名
git commit -m "提交说明"
3. 恢复误删文件
git checkout -- 文件名
4. 版本回退(已经commit)
git reset --hard 版本号 # git log查看,取前七位即可
5. 查看输入指令记录
git reflog

注意:

如果在回退以后又想再次回到之前的版本,git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录。

 

三:本地分支

git branch 分支名 # 创建分支
git branch # 查看分支
git checkout 分支名 #切换分支
git merge 分支名 #将分支名的分支合并到当前分支

 

四:远程仓库和远程分支

git remote -v #查看远程仓库状况
git remote add origin 远程仓库地址    #关联本地仓库和远程仓库
git push -u origin master(这个可以是其他的分支名)    #提交分支,注意:-u只是在第一次提交的时候需要用到,后面不管是主分支还是其他分支都不需要
git clone 仓库地址 #克隆远程仓库
git remote rm origin # 删除仓库关联

git fetch  origin master     #获取远程仓库的更新

git merge origin/master     #合并
git pull       #获取远程仓库的更新并合并,相当于fetch+merge
git push origin 分支名    #将本地分支推送至远程仓库

git push origin 本地分支名:远程分支名    #跟上面含义一样,例如git push origin master:master

 

2. git Submodule

 

3. repo

 

posted on 2018-05-06 14:28  maogefff  阅读(221)  评论(0编辑  收藏  举报

导航