电脑语言程序员Web前端之路

常用git操作(工具类)

2017-09-17  本文已影响619人  枫之伊信

说起代码管理方式,就会想起我们常用的Git,svn。git是分布式的管理方式,svn是集中式的管理方式。大部分公司都在用git来管理代码,一起git命令来管理代码吧。

Git与svn区别:

Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库。

git流程图

SVN是集中式版本控制系统,版本库是集中放在中央服务器的。

svn流程图


常用git命令

、克隆新项目
git clone git://github.com/schacon/grit.git     从服务器上将代码给拉下来

二、常用操作:

(一)本地分支修改操作:

1、git checkout .      #本地所有修改回到原来的状态
2、git checkout -- app/index.html  #本地个别修改恢复。

(二)命令行窗口没有关掉时(时光穿梭)

git log 查看历史
git reflog  查看命令历史,以便确定要回到未来的哪个版本。
git reset --hard HEAD^  恢复上一个版本  ( git reflog )
git reset --hard 3628164

(三)保存改动

git  stash    删除并保存改动
git  stash pop    恢复改动

(四)修正提交最后一个 commit 消息

git commit --amend 或 git commit --amend -m "Fixes bug #42"

(五)提交master后,如何处理

git push -f 命令去强制提交 (强行推送到远端)(不建议使用)
注:如果已经提交master分支,建议本地分支进行修改,重新提交。

(六)删除远程分支:

git fetch -p  本地删除远程已经删除的分支显示
git branch -a  用来查看远程分支
git push origin :feature/construction    删除远程分支

(七)Git鼓励大量使用分支:

查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d

(八)取消一个目录的git初始化

执行rm -rf .git

(九)查看详细的commit信息

git show 2e21737 (git reflog的版本号)

(十)Github使用gitignore忽略增加指定文件。

/node_modules #依赖
/dist #build结果
/.idea #IDE设置目录
/.tmp
/.sass-cache
/bower_components


git rebase和git merge

rebase 的概念/作用其实很简单——就是「变基」。具体来说,就是改变一条分支的「基点」,使原分支从指定的地方(commit)重新长出来。rebase 可以保证commit为一条线。

注:git log --graph 提交记录的顺序问题


遇到的坑

1、建议在代码提交之前先git merge develop 与develop进行同步。(减少冲突)
2、如果merge不成功,说明你的代码与别人的代码冲突了。需要怎么搞呢?
      1)首先git status 查看本地代码修改情况。
      2)通过以下命令,删除与恢复代码。
               git  stash    删除并保存改动
               git  stash pop    恢复改动
               注:用这个操作,一般都可能药到病除 merge不成功的问题。
3、git push -f 命令去强制提交 (强行推送到远端)(不建议使用)



针对初学git操作的建议

对于git操作不熟悉的同学,建议自己搭个github工程,这样就可以随便玩git命令了。 

坑越大,进步就越大。 我也是刚从大坑爬出来的。一起git起来。

上一篇下一篇

猜你喜欢

热点阅读