- 代码版本管理
- 团队协作
- 几乎所有公司都用
- 简单易学
- 非常强大
所有的Git命令都是以git 开头。
git init
- 工作目录
- 暂存区域
- 本地仓库
git add filename.txt
添加某个文件
git add -A
或者 git add .
添加所有文件
-A 和 . 的区别: . 只能把当前目录的所有改动文件添加到暂存区,而**-A **是可以把整个项目的所有改动文件添加到暂存区。
git status
git diff -- filename.txt
查看单个文件的改动
git diff
查看工作区所有文件的改动
git diff --cached
查看已加入暂存区域 但 还未提交到本地仓库的文件改动
git checkout -- filename.txt
git reset HEAD -- filename.txt
还原已加入缓存区的文件到工作区
git checkout -- filename.txt
撤销该文件的改动
git commit
提交在Vim中填写commit信息
git commit -m "commit message"
提交到本地仓库并快捷填写commit信息
git commit --ammend -m "update message"
git log
查看详细的提交日志
git log --stat
查看提交里面改动的文件信息
git show HEAD
查看最近的一次提交,可以简化为git show
git show HEAD^
查看倒数第二次提交,以此类推,有多少个^
符号就表示查看倒数第几次提交的内容
git blame filename.txt
git clone git@github.com:Geowind/LearnGit.git
本地不存在该远程仓库的前提下clone该远程仓库
git remote add origin git@github.com:Geowind/LearnGit.git
远程仓库为空,将远程仓库和本地仓库关联起来
git pull --rebase
git add conflict_file.txt
先添加已修复冲突的文件到暂存区
git rebase --continue
继续之前的合并操作
git push origin master
推送到远程仓库的 master 主分支
git branch dev
创建一个名为 dev 的子分支
git checkout dev
从当前分支切换到 dev 分支
git checkout dev
从当前分支切换到 dev 分支
创建子分支也可以用这一条命令 git checkout -b dev
git branch -av
-a 查看所有分支 -v 查看分支详细信息
git merge dev
合并 dev 分支到当前分支
git branch dev -d
删除 dev 分支
git stash
存档当前项目代码
git stash pop
恢复最新存档代码到工作区域并且不保留存档
git stash apply
恢复最新存档代码到工作区域仍然保留存档
git stash list
查看所有存档
忽略不想添加到Git仓库的文件。
git ignore文件汇总:git@github.com:github/gitignore.git
GithUp, Git GUI, Gittortoise, SmartGit,Github客户端等
以Github项目为例。
ssh-keygen -t rsa -C "youremail@example.com"
在 ~/.ssh 目录下面找到 id_rsa.pub 文件,把ssh-key的内容添加到 Github>Setting>SSH Keys 里面。
在github项目首页提交 issue。
先 Fork 某个项目,然后提交改动,然后提交 Pull Request。