初始化git
- . git init 初始化一个git resposity
- git add 添加到暂存区(红色表示没到暂存区)
- git add .表示把所有工作区的添加到
- git commit -m"message" 添加文件到仓库 (绿色表示没提交)
- git commmit -am"message"直接可以从工作区到master
- git diff 比较本地文件和仓库里面的不同
- git log --pretty=oneline 使得日志在一行显示
git原理图:
- git diff 比较工作区跟暂存区
- git diff --cached 比较暂存区跟HEAD
- git diff HEAD 比较工作区跟HEAD
- git reset HEAD HEAD覆盖暂存区(显示未add到暂存区)
- git checkout -- <file> 暂存区覆盖工作区(整个工作区变得干净啦)
- git checkout HEAD <file> HEAD覆盖暂存区和工作区
- git rm file 会将文件从缓存区和你的硬盘中(工作区)删除
- git rm --cached 只删除暂存区,不删除工作区
- rm file 只删除工作区
- cat file查看文件内容
连接远程github
- git remote add origin git@git.coding.net:tengj/gitLearn.git 连接远程仓库
- git push -u origin master 正式push(正式推送到)
添加和生产公钥
$ ssh-keygen -t rsa -C "your_email@example.com"
git远程操作
- git branch 查看当前分支
- git branch -v 查看每一个分支的最后一次提交
- git branch -a 查看本地和远程分支的情况
- git branch --merged 查看已经与当前分支合并的分支
- git branch --no-merged 查看已经与当前分支未合并的分支
- git branch -r 查看远程分支
- git branch dev 创建分支 dev
- git checkout dev 切换到分支dev
- git checkout -b dev 创建并切换分支dev
- git merge dev 名称为dev的分支与当前分支合并
- git branch -d dev 删除分支dev
当我们push origin master时候报错,我们应该git pull origin dev.解决好冲突后,再按这样一样提交上去。
git push origin master:dev 推送到远程的dev分支上,若没有,则新建。
一般先git fetch下。用git log -p master..origin/dev 比较不同之处。解决冲突,则直接更新。
Git fetch origin master。git log -p master..origin/master。git merge origin/master