Git基础知识与常用命令

一:相关概念:

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 查看difference
16:git log --pertty=oneline 查看commit日志,同时查看commit id
17:git reset --hard HEAD^ 回滚到上一个版本
18:cat [file name] 查看文件内容
19:git reset --hard 版本号 回滚到指定版本号
20:git reflog 用来记录你的每一次命令,可以通过该命令来找到对应的commit id
21: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 --根据当前仓库创建一个tag
35:git tag -d v0.1 --删除一个tag
36: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 log
git log <file> # 查看该文件每次提交记录
git log -p <file> # 查看每次详细修改内容的diff
git log -p -2 # 查看最近两次详细修改内容的diff
git 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 git
process is running and remove the file manually to continue.
解决方法:rm -f ./.git/index.lock

2.2): 编译ICS时 出现 如下错误:

build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current . Stop.
解决方法:rm -rf prebuilt ; repo sync prebuilt

原文地址:https://www.cnblogs.com/kenking/p/5321097.html