本篇主要介绍git 最基本操作。
Git系列的目录如下:
Git常用命令整理一(Git stash)
Git常用命令整理二(Git托管项目)
Git常用命令整理三(Git配置)
Git常用命令整理四(Git删除文件)
Git常用命令整理五(Git疑难杂症)
Git常用命令整理六(创建分支的子分支)
Git常用命令整理七(稀疏检出)
Git常用命令整理八(忽略文件)
Git常用命令整理九(忽略跟踪)
Git常用命令整理十(优雅用法)
Git常用命令整理十一(各种撤回)
置顶一张神奇的图片,相信你可能看一眼就回忆起什么了(图片来自阮一峰博客):
Git原理以及完整命令这里不做介绍,仅介绍实际工作中用到的一些命令。
0、自带master分支不做赘述,一般新建一个名为develop的分支作为开发分支。
1、单人开发的时候可以直接在develop上开发,然后合并到master上。
2、多人开发的时候以develop分支新建功能分支(feature_功能_日期),例如feature_login_20181210,feature_user_20181210,定期将功能分支合并到develop, 然后在将develop反向合并到功能分支,这样可以调用不通功能分支上的方法。最后把功能分支都合并到develop, develop再合并到master。
3、平常项目维护可以命名新分支hotfix_功能名_日期。例如: hotfix_user_20181210。
4、平常项目bug修复可以命名新分支bugfix_功能名_日期。例如: bugfix_user_20181210。
一、项目通过git来托管
0、通过gitlab新建project, Visibility Level 一般是private。新建后可以得到Project path, 例如:http://git.intra.niliu.com/tv/niliu.git。
1、Git全局设置
git config --global user.name "salmonl" git config --global user.email "salmonl@gmail.com"
2、新建项目
git clone http://git.intra.niliu.com/tv/niliu.git cd niliu touch README.md git add README.md git commit -m "add README" git push -u origin master
3、添加已有项目文件到git
cd existing_folder git init git remote add origin http://git.intra.niliu.com/tv/niliu.git git add . git commit -m "Initial commit" git push -u origin master
二、获取分支
0、获取master分支
git clone http://git.intra.niliu.com/tv/niliu.git
1、拉取远程分支【项目开发必备】
# 拉取远程仓库的特定分支到本地仓库(git fetch拉取全部) git fetch origin origin_branch_name git branch -r git checkout -b local_branch_name origin/origin_branch_name
2、新建分支
以master分支新建develop
git checkout master git checkout -b develop
3、分支合并到master
git checkout master git merge branch_name
4、把分支push到远端
git push origin branch_name # 其实切换到branch后,执行下面的命令后,下次直接git push就行,不需要代分支名,节省时间 git push --set-upstream origin branch_name
三、分支操作
0、在本地删除一个分支
git branch -d branch_name #强制删除 git branch -D branch_name #精简远程已删除分支 git fetch -p origin
1、在远程端删除一个分支
git push origin :branch_name (分支名前的冒号代表删除) git push --delete origin develop
2、忽略本地修改,强制更新master到本地分支
git fetch --all git reset --hard origin/master
3、本地未提交,不能合并,可以stash
git stash #do some work git stash pop
4、强制push分支
git push -f origin rest
5、撤销
git reset HEAD #文件退出暂存区,但是修改保留 git reset --mixed
6、rename 分支
思路:删除远程分支->重命名本地分支->push本地分支
git branch -av git branch —delete origin global_db git branch -m globel_db global_db git push -u origin global_db
四、Tag
0、创建含附注的tag
git tag -a v1.0 -m 'v1.0 milestone' <em>1、提交tag</em> git push origin v1.0
五、日志
0、查看日志
git log --oneline -5 --author salmonl --before 'May 26 2016' git log -l 5
六、疑难杂症
问题越积累越多,单独成篇,放在这里啦《Git常用命令整理五(Git疑难杂症)》
Git用法完整介绍:
《Git教程- 廖雪峰的官方网站》
《阮一峰 常用Git命令清单》