首页 > 代码库 > Git学习总结

Git学习总结

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   分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

 

Git学习总结