1. Git常用命令
git init ) 初始化一个目录成仓库
添加文件到仓库:①git add +文件名) 把文件修改添加到stage(暂存区)(可多次添加) ②gitcommit (提交到仓库)把暂存区的内容提交到当前分支
git status ) 查看当前仓库中是否有修改过且未提交的
git diff +文件名 ) 显示当前文件内容与上次修改的内容
git log ) 显示从最近到最远的提交日志(常用 git log --pretty=oneline)(按q退出)
git reset --hard +版本号 ) 改变到其他版本 (HEAD^表示上一个版本,HEAD^^表示上上个版本,HEAD~100表示往上100个版本。注:以版本号选择时,可以不写全)
git reset HEAD + file ) 把暂存区的修改回退到工作区
cat + 文件名 ) 查看文件内容
git reflog ) 记录每一次命令
git checkout --file丢弃工作区的修改,撤销修改(其实是用版本库里的版本替换工作区的版本)
把文件从版本库删除:①git rm + file ② git commit –m “说明”
2. Github命令
git remote add origin git@github.com:用户名/learngit 使当前本地仓库与此远程仓库关联
git push -u origin master 把本地库的所有内容推送到远程库上
git clone git@github.com:用户名/gitskills 克隆一个远程库到本地
git push origin 分支名 : 推送某一分支到远程仓库上
3. Git分支命令
git branch dev :创建dev分支
git checkout dev : 切换到dev分支
git checkout -b dev : 表示创建并切换到dev分支
git branch : 查看当前分支
git merge dev 把dev分支上的内容合并到当前分支上
à(git merge --no-ff –m ”merge with no--ff” dev)加上--no-ff参数就可以普通模式合并,合并后的分支有历史,能看出来曾经做过合并,而fast forward看不出来曾经做过合并。
git branch -d dev : 删除dev分支
如果两个分支都有修改导致git无法自动合并时,需首先解决冲突(重新提交一次该文件)。
git log --graph : 查看分支合并图
git stash 把当前工作区隐藏起来
git stash pop :恢复stash内容同时把stash内容删了
小结:①Bug分支-->修复bug时,我们会通过创建新的bug分?进行修复,然后合并,最后删除;当手头工作没有完成时,先把工作现场git stash下,然后去修复bug,修复后,再gitstashpop,回到工作现场。
②开发一个新的feature(功能),最好新建一个分支。
如果要丢弃一个没有被合并过的分支,可以通过git branch –D name强行删除
4. 推送分支
? master 分支是主分支,因此要时刻与远程同步;
? dev 分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
? bug 分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
?feature 分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
原文地址:http://blog.csdn.net/u012198382/article/details/42318807