一:相关概念:
1:工作区(Working Directory): 就是你在电脑里能看到的目录
2:版本库(Repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
2.1): Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。2.2): git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。 3:为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。4:Git的分支是与众不同的,无论创建、切换和删除分支,Git在1秒钟之内就能完成!无论你的版本库是1个文件还是1万个文件。
5:配置Git的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用
二:Git常用命令学习
1:mkdir --在当前目录创建文件夹
2:cd --目录切换3:pwd --命令用于显示当前目录4:git init --通过git init命令把这个目录变成Git可以管理的仓库5:git add [file name] --add 将本地文件添加到创储6: ls -ah --列出当前目录下的文件7: git checkout --track origin/dev 切换到远程dev分支8: git merge origin/dev 将分支dev与当前分支进行合并9: git checkout dev 切换到本地dev分支10:git config --list 看所有用户11:git commit -v 当你用-v参数的时候可以看commit的差异12:git log 看你commit的日志13:git diff 查看尚未暂存的更新14:git status 命令可以让我们时刻掌握仓库当前的状态15:git diff 查看difference16:git log --pertty=oneline 查看commit日志,同时查看commit id17:git reset --hard HEAD^ 回滚到上一个版本18:cat [file name] 查看文件内容19:git reset --hard 版本号 回滚到指定版本号20:git reflog 用来记录你的每一次命令,可以通过该命令来找到对应的commit id21:git checkout -- file 可以丢弃工作区的修改22:git reset HEAD file 可以把暂存区的修改撤销掉(unstage),重新放回工作区 (已经git add 或者git commit的文件回退到工作区)23:git push -u origin dev 第一次将暂存修改提交到远处分支24:git push origin dev 推送最新修改25:git checkout -b dev 我们创建dev分支,然后切换到dev分支26:git branch -d dev 删除分支 27:git push origin :feature1 --删除远程分支后,推送28:git branch --显示分支29:git log --graph --查看分支合并图30:git branch -D feature-vulcan 分支还没有被合并,如果删除,将丢失掉修改,如果要强行删除,则使用该命令31:git remote 查看远程库的信息32:git remote -v 显示远程库更详细的信息33:git branch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联34:git tag v1.0 --根据当前仓库创建一个tag35:git tag -d v0.1 --删除一个tag36:alias --通过alias命令设置别名例如:$ git config --global alias.st status 现在git st 等价于git status分支
查看分支:git branch创建分支:git branch <name>切换分支:git checkout <name>创建+切换分支:git checkout -b <name>合并某分支到当前分支:git merge <name>删除分支:git branch -d <name>日志
git loggit log <file> # 查看该文件每次提交记录git log -p <file> # 查看每次详细修改内容的diffgit log -p -2 # 查看最近两次详细修改内容的diffgit log --stat # 查看提交统计信息
三:学习中遇到的问题与解答
1:Git Bash窗口退出日志详情快捷键
Ctrl + C 退出窗口2:git锁定解决方法
2.1):今天 当我 执行 git add somefile 的时候,出现 如下 错误:
If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other gitprocess is running and remove the file manually to continue.解决方法:rm -f ./.git/index.lock2.2): 编译ICS时 出现 如下错误:
build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current . Stop.
解决方法:rm -rf prebuilt ; repo sync prebuilt