title: Git常用命令
date: 2016-07-09 16:07:10
tags: GitHub
categories: GitHub
创建版本库
1.pwd
显示当前目录
2.git init
把当前目录变成git可以管理的仓库
配置 Git
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
提交文件到仓库
1.git add
文件名.后缀
2.git commit -m
“描述文字 注释”
3.git status
查看文件是否提交
4.git diff file
查看文件对比
5.git log
查看git提交日志,git log --pretty=oneline
简化输出版本回退和撤消
1.git reset --hard HEAD^
回退上一个版本
2.git reset --hard HEAD^^
回退上上一个版本
3.git reset --hard HEAD~100
回退前100个版本
4.git reflog
获取版本号
5.git reset --hard
版本号 恢复这个版本
6.git checkout -- file
丢弃工作区的修改
7.git reset HEAD file
可以把暂存区的修改撤销掉,重新放回工作区
理解工作区与暂存区的区别?
1.工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录 版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
2.版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本 库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我 们自动创建了第一个分支master,以及指向master的一个指针HEAD。
git add 就是把文件从工作区修改添加到暂存区;
远程仓库 SSH Keys
1.
ssh-keygen -t rsa -C "503610326@qq.com"
用户目录会多一个.ssh目 录。id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
2.登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”, 填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容。关联和提交文件到远程仓库
1.登录github,创建一个与本地同名的仓库
2.在本地仓库运行命令git remote add origin http://...
远程仓库的地址
3.本地库的内容推送到远程,使用git push
命令,实际上是把当前分支master推送 到远程。
4.git push -u origin master
第一次要加-u 然后输入用户名,密码
5.git push origin master
以后每一次提交到服务器
6.git remote -v
查看远程库信息如何从远程库克隆
1.在github上创建一个仓库
2.本地git clone https://...
仓库名 本地就会生成目录了管理分支
1.
git checkout -b dev
创建并切换分支 也可以分两步:git branch dev
+git checkout dev
2.git branch
查看当前分支
3.git merge dev
合并分支 指定分支合并到当前分支
4.git branch -d name
删除分支
5.git merge --no-ff -m "描述" dev
用普通模式合并,合并后的历史有分支,能看出来曾经做过合并。
6.git stash
隐藏分支
7.git stash list
查看隐藏分支
8.git stash apply
恢复隐藏分支 但不会删除git stash drop
删除隐藏分支
9.git stash pop
恢复隐藏分支并且删除
10.git branch -D <name>
删除没有合并的分支
11.git push origin branch-name
把本地分支推送到远程仓库
12.推送失败,git pull origin branch-name
拉去远程分支与本地合并,解决分支,继续提交
13.git checkout -b dev origin/dev
在本地创建和远程分支对应的分支分支管理策略
1.
git merge -no-ff -m "注释" dev
合并dev分支 保留dev分支信息(删除该分 区信息还可以查看到)
2.分支策略:首先master主分支应该是非常稳定的,也就是用来发布新版本,一般情况下不允许在上面干活,干活一般情况下在新建的dev分支上干活,干完后,比如上要发 布,或者说dev分支代码稳定后可以合并到主分支master上来。Bug分支
1.每个bug都可以通过一个临时分支来修复,修复完成后,合并分支,然后将临时的分 支删除掉。
2.git stash
将当前的工作现场隐藏起来 等Bug分区修复好BUG。
3.git stash list
查看
4.git stash apply
恢复git stash drop
删除stash内容
5.git stash pop
回复并删除stash内容多人协作
1.当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支 对应起来了,并且远程库的默认名称是origin。
2.git remote
查看远程库的信息 -v 查看详细信息
3.git push origin master
推送到远程的分支上去
4.一般是主分支推送到远程的