关于git 对很多人来说都不陌生,但对于新手来说可能存在很多盲点,本人通过从一个新手到熟练运用,在这里做个总结,希望可以帮到各位。
git status --查看当前有哪些文件code change
git diff 文件路径 --查看当前文件的code change
git add 文件路径 --是将当前更改或者新增的文件加入到要提交的队列中,该功能类似于SVN的add
git commit -m “[VSIWC-XX]question dec” --提交当前工作空间的修改内容,类似于SVN的commit命令,例如’git commit -m story #3, add user model’,提交的时候可以用-m来输入一条提交信息, 也可以不写, 比如 git commit,该功能类似于SVN的commit
git rebase -i HEAD~2 --在多次提交的情况下,合并本地当前branch的前两个commit,如果只提交过一次,请忽略
git push --(如果是第二次改同一个分支代码,要先rebase ,然后在push)将本地commit的代码更新到远程版本库中,例如’git push origin’就会将本地的代码更新到名为orgin的远程版本库中。
git push -f origin --强制提交代码到远端库(最好不要用,它可能会覆盖别人提交的代码)
git checkout develop --切换到develop
git fetch --同步远端服务器,可以检测的新建的branch
git pull origin --将代码更新到本地,例如:'git pull origin master’就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的update。
git checkout -b tmp --创建一个新分支tmp并切换到该分支
git cherry-pick 提交的代码编号 --将指定分支提交的代码copy到当前分支
git checkout develop --切换到develop
git rebase develop --更新分支代码跟develop同步,如果失败,执行git stash ,然后再执行git rebase develop
git stash --隐藏本地代码更改
git stash pop --将之前隐藏的代码显示出来,与git stash一起用,可以帮助我们在不同的branch上高效率产出(比如你在branch A上的代码已经完成,现在正在branchB上工作,但是客户对branchA提交的代码需求有改动,这时候就要切换到branchA,你可以先用git stash 把你在branchB上写的代码隐藏,然后到branchA上去完成客户请求,完成后可以再切换到branchB, 用git stash pop,你会发现之前在branchB上写的代码都还在)
git branch -u origin/develop --查看当前branch代码与远端develop代码是否同步
git branch -u develop --查看当前branch代码与本地develop代码是否同步
git branch -vv --查看所有分支与develop是否同步
git rebase --abort --如果rebase失败,可以用这个命令回滚
git reset --hard head~1 --去掉本地最新的一个commit