您的位置:首页 > 编程语言

Git学习记录.2016.11.18

2016-11-18 22:58 274 查看
初次学习Git使用,发现廖雪峰老师讲解非常到位,整理如下以备后续使用。
原文还请参考:Git教程
1.初次运行Git前的配置
git config -l
查看全局配置
git config --global user.name "Your Name"
配置用户名git config --global user.email "email@example.com"配置邮箱
git config --global color.ui true
让Git显示颜色,会让命令输出看起来更醒目:

git config --global color.status auto  

git config --global color.diff auto  

git config --global color.branch auto  

git config --global color.interactive auto 
2.配置别名提升效率
git st
--->git config --global alias.st status
git co--->git
config --globalalias.co checkoutgit
ci --->git config --globalalias.ci
commitgit br
--->git config --globalalias.br
branch
git unstage
--->git config --global alias.unstage'reset
HEAD'
git last
--->git config --global alias.last'log
-1'
git lg
--->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"
3.Git命令解释
git init命令把这个目录变成Git可以管理的仓库
git add告诉Git,把文件添加到仓库
git commit-m
"xxx" 告诉Git,把文件提交到仓库
git status命令可以让我们时刻掌握仓库当前的状态
git diff看具体修改了什么内容
git log命令显示从最近到最远的提交日志
git shortlog只显示commit的信息
git log --pretty=oneline当行显示提交文件的log信息
git log --pretty=oneline --abbrev-commit只显示版本号的前几位
git reset --hard HEAD^回退到上一个版本
git reset --hard HEAD~100回退到上一百个版本
git reset --hard 12345678回退到指定版本,指定的版本号前几位为12345678
git reflog用来记录你的每一次命令,并显示提交的版本号
git diff HEAD -- file命令可以查看工作区和版本库里面最新版本的区别
git checkout -- file丢弃工作区相应文件的的修改
git reset HEAD file把暂存区的修改撤销掉(unstage),重新放回工作区
git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
git rm file从版本库中删除文件
git remote add origin git@github.com:XXXX/XXXX.git将已有的本地仓库与GitHub上的远程仓库关联
git remote rm origin删除已经关联的远程库(用于第一次关联错地址)
git push -u origin master 第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
git push origin master 实际上是把当前分支master推送到远程
git push -u origin master -f 强制将本地库push到远程库(远程库会丢失改动)
git clone git@github.com:XXXX/XXXX从GitHub远程库里面克隆一个本地库
git branch dev创建dev分支
git checkout dev切换到dev分支
git checkout -b dev创建dev分支然后切换到dev分支
git branch命令会列出所有分支,当前分支前面会标一个*号
git checkout master切换到master分支
git merge xxx命令用于合并指定分支xxx到当前分支
git branch -d xxx删除分支xxx
git log --graph命令可以看到分支合并图
git log --graph --pretty=oneline --abbrev-commit分支合并图,只显示版本号的前几位
git merge --no-ff -m "merge with no-ff" XXX强制禁用Fast
forward模式,Git就会在merge时生成一个新的commit
git stash把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list查看保存的工作现场
git stash apply stash@{0}恢复指定的 stash@{0}
git stash apply恢复现场,但是恢复后,stash内容并不删除
git stash drop来删除保存的工作现场
git stash pop恢复现场的同时把stash内容也删了
git remote查看远程库的信息
git remote -v显示更详细的信息
git push origin xxx推送分支,就是把该xxx分支上的所有本地提交推送到远程库。(建立远程分支)
git pull抓取远程库最新到本地
git branch --set-upstream-to=origin/dev dev本地分支dev和远程分支dev的链接关系创建
git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
git tag查看所有标签。
git tag -d v0.1 删除标签
git push origin v0.1推送某个标签到远程
git push origin --tags一次性推送全部尚未推送到远程的本地标签
git push origin :refs/tags/v0.9删除一个远程标签(前提是要先删除本地的相同名称的这个标签,再push)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Git GitHub