github经常使用命令

一 本地仓库git

1 安装gitgithub

sudo apt-get install git

 2 安装完成后进行设置网络

git config --global user.name '  username '
git config --global user.email 'email'

3 建立版本库。首先建立一个空目录,而后把这个目录变成git能够管理的仓库app

mkdir mygit
cd mygit 
git init

  使用ls -ah能够查看该目录下有一个.git文件ssh

4 添加文件readme.txt到仓库,把文件提交到仓库ui

git add readme.txt     #添加文件
git add                #修改文件后可直接使用git add将修改保存到暂存区
git commit -m 'wrote a readme.txt'  #-m 后面是本次提交的说明,git commit只负责提交把暂存区的修改提交
git status  #查看结果
git diff  HEAD -- readme.txt  #查看工做区和版本库最新版的区别,显示的是unix通用的diff格式
git log     #查看提交历史记录
git log --pretty=oneline #简版(一个提交一行)展现git log命令结果,等号左右两边不能有空格
git reflog  #查看命令历史记录,这样能够找到已删除的提交版本号

5 HEAD 表示当前版本,即最近一次提交unix

   HEAD^  上一个版本code

   HEAD^  上上一个版本server

   HEAD~100 往上一个版本rem

git reset --hard HEAD^   #回退到上一个版本
git reset --hard 3628164 #数字是版本号的部分,命令表示回到版本号所对应的版本,版本号可由git log获得

6 撤销修改

  命令git checkout -- readme.txt意思就是,把readme.txt文件在工做区的修改所有撤销,这里有两种状况:

  一种是readme.txt自修改后尚未被放到暂存区,如今,撤销修改就回到和版本库如出一辙的状态;

  一种是readme.txt已经添加到暂存区后,又做了修改,如今,撤销修改就回到添加到暂存区后的状态。

  总之,就是让这个文件回到最近一次git commitgit add时的状态。

git checkout -- file  #撤销的是add或commit后又作的修改,撤销对工做区的修改   若是没有 -- 这变成转到另外一个分支的命令
git reset HEAD file   #撤销对暂存区的修改,让已add的文件回到未add的状态

7 删除文件

  •  直接在文件管理器中把文件删了,或用rm命令删了

rm test.txt
  • 从版本库中删除

git rm test.txt
git commit -m '...'

能够从之前的版本库里恢复文件

git checkout -test.txt

二  远程仓库

1 在用户主目录下建立SSH Key,并在github中account settings 的SSH keys页面把建立的.ssh/id_rsa.pub文件的内容复制到ADD SSH Key里,title任意

ssh -keygen -t rsa -C 'email'

2 添加远程库

git remote add origin git@server-name:path/repo-name.git

3 把本地库的内容推送到远程库上

git push -u origin master #第一次推送
git push origin master #之后推送

4 从远程库中克隆

git clone git@server-name:path/repo-name.git

5 建立与合并分支

  • 建立并切换到分支dev

git checkout -b dev
#至关于
git branch dev
git checkout dev
##############
git branch #查看当前分支
git merge dev #合并分支
git branch -d dev #删除分支
git log --graph --pretty=oneline --abbrev-commit #查看分支状况
git log --graph  #查看分支图
  • Fast forward模式,删除分支后会去掉分支信息,禁用Fast forward:

git merge --no-ff -m '....' dev

6 Bug分支

git stash #保存现场
git stash list #查看保存的现场
git stash pop #恢复现场 至关于:
git stash apply
git stash drop
#####################
git branch -D <branch-namde> #丢弃没有合并的分支

7 查看远程库信息

git remote
git remote -v #显示更详细信息
git pull #抓取最新的提交

8 将本地分支dev与远程origin/dev分支连接,这里建立的是跟踪分支。另外还有远程跟踪分支,

远程跟踪分支是远程分支状态的引用。 它们是你不能移动的本地引用,当你作任何网络通讯操做时,它们会自动移动。 远程跟踪分支像是你上次链接到远程仓库时,那些分支所处状态的书签。

它们以 (remote)/(branch) 形式命名。

git branch --set-upstream dev origin/dev

9 在本地建立与远程分支对应的分支

git checkout -b branch-name origin/branch-name

10 标签

git tag <name> #打标签
git tag #查看标签
git tag <name> <commit-id> #给之前的版本打标签
git show <tagname> #查看标签信息
git tag -a <tag-name> -m '....' #建立带说明的标签 -a 指定签名 -m 指定说明文字
git tag -s <tag-name> -m '....'    #建立带PGP签名标签
git tag -d <tag-name> #删除标签
git push origin <tag-name> #推送标签到远程
git push origin --tags #一次性推送所有未推送到远程的标签
###删除已经推送到远程的标签 :
#1 先从本地删除
git tag -d <tag-name>
#2 从远程删除
git push origin :refs/tags/<tagname>

11 其余配置

git config --global color.ui true #配置颜色
.gitignore #忽略文件
相关文章
相关标签/搜索