git命令总结及git工作流程指令归纳

Git命令

Git基础命令:

    用户定义:

git config –global user.name “YourName”

git config –global userl.email “email@host”

 

创建git工作目录:

    mkdir FileName    #创建工作目录

    cd FileName       #进入工作区

 

初始化git本地仓库:

    git init      #把当前目录变成git本地管理仓库

 

把工作文件添加到仓库:

    git add FileName           #把文件添加到暂存区

    git commit –m “message”    #把暂存区里的文件添加到git仓库中 –m记录信息

 

状态查看指令:

    git status    #查看仓库当前状态

    git diff FileName    #查看文件修改内容

    git diff [Commit_id_form] .. [Commit_id_to]    #对比两个版本的不同

    git log   #查看历史记录

    git log –pretty=oneline    #单行显示历史记录信息

    git reflog    #查看之前使用过的命令

 

退回之前的版本:

    git reset --hard HEAD^    #退回上一个版本

    git reset –hard HEAD~n    #退回到n个版本之前

    git reset –hard HEAD Commit_id    #退回到提交的id版本

 

文件撤销:

    git checkout – FileName    #撤销工作区文件,在未添加到暂存区之前

    git reset HEAD FileName    #暂存区里的类容被修改后使用,然后使用上一条命令

 

文件删除:

    git rm FileName    #在版本库中删除文件,同时在工作空间中也删除

    git commit –m “message”    #删除后需要提交删除

    git checkout – FileName      #还原在工作区误删除或者修改的文件

 

创建ssh密钥:

    ssh –keygen –t rsa –C “YourMail @host”

远程仓库操作:

    git remote add [email protected]:username/urlname    #远程没有仓库时,把本地库的类容推送到远程库,并产生关联

    git clone [email protected]:username/urlname    #将远程库克隆岛本地

    git push –u origin master    #首次把本地库的所有内容推送到远程库产生关联,-u表示参数关联

    git push origin master    #在产生关联以后,推送修改内容

 

开发分支的创建及使用:

    git checkout –b BranchName    #创建一个分支,并指向这个分支

    git branch BranchName    #创建一个分支

    git checkout BranchName    #切换到某个分支

    git branch    #查看当前分支

    git merge BranchName     #把BranchName 分支合并到当前分支

    git branch –d BranchName    #删除分支

    git log –graph –pretty=oneline–abbrev-commit    #查看分支合并图单行显示

    git log –graph    #查看分支合并图

    git branch –D BranchName    #强行删除一个没有被合并过的分支

 

禁快进模式(Fast-forward。好处:可以提交一次信息备注):

    git merge –no-ff –m “message”BranchName    #禁Fast-forward合并方法,可见分支信息

 

现场存储命令:

    git stash   #把当前分支,把当前的工作现场“储藏”,等以后恢复现场继续工作

    git stash list    # 查看“储藏”的工作现场

    git stash apply    #恢复工作现场,stash类容并不删除

    git stash drop    #删除工作现场

    git stash pop    #恢复并删除工作现场

    git stash apply stash@{n}    #恢复指定的工作现场

 

远程库提交指令:

    git remote    #查看远程库信息

    git remote –v    #查看更详细的信息

    git push origin BranchName    #推送到远程对应分支上

    git checkout –b BranchNameorigin/BranchName    #创建远程分支到本地分支

    git pull   #抓取最新的提交

    git branch –set-upstream BranchNameorigin/BranchName    #设置本地分支和远程分支的关联,解决关联(连接)问题“no tracking information”

 

给项目打标签命令:

    git tag TagName    #打一个新的标签

    git tag   #查看所有标签

    git tag TagName Commit_id    #对指定Commit_id 版本打标签

git showTagName    #查看标签的详细信息

git tag –aTagName –m “message” Commit_id    #-a指定标签名,-m信息,创建指定版本带说么的标签

git tag –sTagName –m “message” Commit_id    #-s用私钥签名一个标签

git tag –dTagName    #删除一个标签

git push originTagName    #推送指定标签到远程

git push origin–tags     #推送所有标签到远程

 

删除远程标签:

git tag –dTagName

git push origin:refs/tags/TagName

 

git的辅助功能:

git config –globalcolor.ui true    #让git通过颜色区分

git的配置文件放于.git/config 文件中

git config–global alias.ShortName FucthionOrder   #给命令取别名,简化命令

git config--global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset-%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'--abbrev-commit"    #非常好用的一句话,之后输入gitlg就能更直观的查看历史记录

 

文件恢复操作指令:

git checkoutCommit_id FileName    #把文件还原到版本号Commit_id的版本

git revertHEAD    #提交当前版本

git revertCommit_id    #提交Commit_id 版本


 

Git工作流流程及命令介绍

集中式工作流

创建裸仓:

ssh user@host

git init –bare /path/to/repo.git

 

克隆中央仓:

git clone URL

提交文件:

git push originmaster

提交发生冲突:

git pull –rebaseorigin master    #--rebase把提交移到同步了中央仓修改后master分支的顶部

同步后:

git add

git rebase–continue

出错,回归到--rebase抓取版本:

git rebase–abort

合并上传:

    gitpush origin master


 

功能分支工作流:

创建功能分支:

git checkout –bFunctionBranch master

开发阶段性提交:

git push –u originFunctionBranch    #-u设置本地分支去跟踪远程的对应分支

完成功能开发:

git push

功能发布:

git checkoutmaster

git pull

git pull originFunctionBranch

git push

git mergeFunctionBranch


 

Gitflow工作流

创建一个develop分支:

git branchdevelop

git push –uorigin develop

git clonessh://user@host /path/to/repo.git

git checkout –bdevelop origin/develop

 

开发新功能:

git checkout –bFunctionBranch develop

 

完成功能开发:

git pull origindevelop

git checkoutdevelop

git mergeFunctionBranch

git push

git branch –dFunctionBranch

 

准备发布:

git checkout –bTagBranch develop

 

完成发布:

git checkoutmaster

git mergeTagBranch

git push

git checkoutdevelop

git mergeTagBranch

git push

git branch –dTagBranch

 

git tag –aTagName –m “message” master

git push –tags

 

用户发现bug:

git checkout – bBugBranch master

#Fix the bug

git checkoutmaster

git mergeBugBranch

git push

 

git checkoutdevelop

git mergeBugBranch

git push

git branch –dBugBranch


 

Forking 工作流

初始化正式仓库:

ssh user@host

git init –bare/path/to/repo.git

 

开发者克隆自己fork出来的仓库:

git clone URL

git remote addupstream URL    #添加上游(upstream)正式仓库

 

开发者开发自己的功能:

git checkout –bFunctionName

#Edit some code

git commit –a –m“message”    #-a,上传所有工作区修改至git仓库

 

提交:

git pullupstream master

 

开发者发布自己的功能:

git push originFunctionBranch

 

项目维护者集成开发者的功能:

git fetchDevelopURL FunctionBranch

git checkoutmaster

git mergeFETCH_HEAD

git push originmaster

 

开发者和正式仓做同步:

   git pull upstream master 

你可能感兴趣的:(技术综合,软件开发)