码迷,mamicode.com
首页 > Web开发 > 详细

gitlab基础命令(转自大神网站)

时间:2017-09-25 11:35:31      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:strong   git diff   href   ref   文件写入   一键   graph   pop   研究   

安装git: sudo apt-get install git     
配置git:
git config --global user.name "your name"
git config --global user.email "you email"
--global:表示这台机器上所有的git仓库都会使用这个配置、当然也可以对某个仓库指定不同的用户名和Email地址。
创建git仓库: git init
添加文件:git add 
提交文件:git commit
查看仓库当前状态:git status
查看文件是否同步:git diff
查看git提交日志:git log --pretty=oneline(参数可选)
版本回退:git reset --hard HEAD^
在git中,用HEAD表示当前版本,也就是最新提交的版本,上一个版本就是HEAD^,上上个是HEAD^^,上100个版本表示为HEAD~100
记录每一次git命令:git reflog
 
工作区和暂存区
工作区就是电脑里所看到的目录
.git中的index就是暂存区
我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
撤销修改:git checkout -- file 
git checkout -- file:表示把file文件在工作区的修改全部撤销
readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
git reset HEAD file:表示把file在暂存区的修改撤销掉
readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
就是让这个文件回到最近一次git commit或git add时的状态。
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
 
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
 
删除文件:git rm file
git commit -m‘remove file‘
如果文件删错了 也可以用git checkout -- file的方式恢复
 
git本地仓库和远程仓库的传输加密:
1、创建 SSH Key
ssh-keygen -t rsa -C"youremail@example.com"
2、登陆GitHub,打开“Account settings”,“SSH Keys”页面: 点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
 
关联远程仓库和本地仓库:
git remote add origin git@github.com:themoonstone/ubuntu_git.git(必须要在git目录下)
把本地的内容推送到远程仓库:
git push -u origin master(在执行这个步骤的时候出现了“git ssh permission denied publickey”的错误、排查结果是ssh服务没有启动(真特么坑爹))
-u参数会把本地和远程的master关联起来
从远程库克隆:git clone git@github.com:themoonstone/ubuntu_git.git
创建并切换新的分支:git checkout -b newbranch   参数-b表示创建并切换
分支合并:git merge newbranch   
git merge:合并指定分支到当前分支
删除分支:git branch -d oldbranch
强制删除分支:git branch -D oldbranch
查看分支合并图:git log --graph 
合并分支时,加上--no-ff参数可以使用普通模式合并,合并后的历史有分支。  另外一种是Fast forward模式,但在这种模式下,删除分支后会丢掉分支信息
保存当前工作:git stash
查看工作现场:git stash list
恢复工作现场:git stash apply(恢复但不删除stash内容) git stash pop(恢复并删除stash内容)
删除工作现场:git stash drop
恢复指定的工作现场:git stash apply@{0}
 
查看远程仓库信息:git remote
在本地创建和远程分支对应的分支:git checkout -b branch-name origin/branch-name
查看远程仓库详细信息:git remote -v 显示可以用于抓取和推送的地址
推送分支:git push origin master 
设置本地dev分支与远程dev分支的连接:git branch --set-upstream dev origin/dev
抓取分支 :git pull
 
创建标签:git tag tagname
指定标签信息:git tag -a tagname -m‘infomation‘
查看所有标签:git tag
查看指定标签:git show tagname
删除本地标签:git tag -d tagname
推送一个标签:git push origin tagname
推送所有标签:git push origin --tags
删除远程标签:git push origin:refs/tags/tagname
 
配置git显示颜色:git config --global color.ui true
 
忽略指定文件,创建一个.gitignore 将要忽略的文件写入该文件  .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
强制添加文件:git add -f file
检查 .gitignore :git check-ignore -v file
 
配置别名:git config --global alias.st status
配置git last显示最后一条提交信息:git config --global alias.last ‘log -1‘
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"(这行还没研究)
配置文件:每个仓库的GIT配置信息都放在.git/config文件中 而当前用户的GIT配置信息放在用户主目录下的.gitcofig中
 

gitlab基础命令(转自大神网站)

标签:strong   git diff   href   ref   文件写入   一键   graph   pop   研究   

原文地址:http://www.cnblogs.com/themoonstone/p/7590536.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!