1.git简介
git:版本控制系统,实现文件的回滚,查看历史版本,分支的合并和创建。
2.git本地仓库
git init 初始化本地仓库
git add fileName 将文件添加到暂存区
git commit -m “注释” 将文件提交到本地仓库
git status 查看仓库状态
3.git远程仓库
git push -u origin master 把本地仓库推送到远程仓库
4.分支
创建本地分支:git branch 分支名
创建远程分支:
查看本地分支:git branch
查看远程分支:git branch -a
切换远程分支:git checkout -b 1.1.0 origin/branchName (切换为远程服务器上的命名为branchName的远程分支)
切换本地分支:git checkout 分支名
删除本地 分支:git branch -d 1.0.4
git merge 本地分支到master:merge remote-tracking branch 'origin/master' into 1.1.4
从远程仓库克隆分支到本地:git clone -b 分支号 仓库路径 本地命名
5.git stash可以将你当前未提交到本地仓库和远程仓库的代码推入到Git的栈中(stash是本地的)
git stash pop 恢复之前缓存的工作目录,这个指令将缓存堆栈中的第一个stash删除,并将对应修改应用到当前的工作目录下
git stash apply将缓存堆栈中的stash多次应用到工作目录中,但并不删除stash拷贝
git stash list 查看现有stash
git stash drop后面可以跟着stash名字, 移除stash
git stash clear删除所有缓存的stash
git stash show后面可以跟着stash名字 查看指定stash的diff,在该命令后面添加-p或--patch可以查看特定stash的全部diff,
默认情况下,git stash会缓存下列文件:
添加到暂存区的修改(staged changes)
Git跟踪的但并未添加到暂存区的修改(unstaged changes)
但不会缓存一下文件:
在工作目录中新的文件(untracked files)
被忽略的文件(ignored files)
6.常见命令
(1)add
git add -A 提交所有变化
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
(2)commit
(3)push
git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master
(4)pull
git pull 命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并。git pull = git fetch + git merge
git pull <远程主机名> <远程分支名>:<本地分支名> eg:git pull origin master:brantest
(5)fetch
git fetch origin master //从远程的origin仓库的master分支下载代码到本地的origin master
(6)merge
git merge origin/master把从远程仓库下下来的代码合并到本地仓库
(7)remote
git remote 不带参数,列出已经存在的远程分支
git remote -v 列出详细信息,在每一个名字后面列出其远程url
添加远程仓库:git remote add origin git://github.com/paulboone/ticgit.git
7.图解
8.FETCH_HEAD: 是一个版本链接,记录在本地的一个文件中,指向着目前已经从远程仓库取下来的分支的末端版本。