吸毒的虫子 发表于 2018-9-17 10:34:52

git 基本操作指令

  一、远程提交本地代码到github.com上或者提交到远程的服务器上
  git remote add origin https://github.com/gong620/testgit.git
  git push -u origin master    第一次(远程服务器上没有代码的时候)提交加上-u参数,以后就不用啦
  提交分支的代码:
  git push origin branch(分支名字)
  二、切换到某个工作分支
  git checkout 'gong'或者git checkout master
  三、查看当前工作分支
  git branch
  四、查看git 操作日志
  git log
  五、添加文件到暂存区
  git add filename
  六、提交文件到版本库
  git commit -m "gong modified gong"    -m"备注提交信息"
  七、回退到上一版本
  git reset --hard HEAD^
  回退到100个版本
  git reset --hard HEAD~100
  八、查看历史纪录的版本号id
  git reflog
  九、从远程库中克隆
  git clone
  十、删除分支
  git branch -d name
  创建分支:
  git branch name
  创建并切换分支
  git checkout -b name   git branch dev    和git checkout dev
  切换分支:
  git checkout branch_name
  合并某分支到当前分支:
  git merge branch_name
  删除远程分支:
  git branch -r -d origin/gong    只是删除了本地对远程分支的track
  正确的操作:
  git push origin :branch-name
  十一、git pull
  此命令用于获取远程分支中更新。
  语法:git pull 远程主机 远程分支:本地分支如:git pull origin master:master,表示将远程主机origin中的master分支跟新到本地分支master。
  十二、将远程版本库的更新,更新到本地库
  git fetch origin
  如果只更新某个分支,git fetch origin master
  十三、恢复删除文件或者彻底从版本库中删除文件
  当我们写代码的时候,经常使用rm直接将没用的文件直接删除,尽管这样git也能发现你删除了什么文件,用git status查看,会显示删除了什么文件,切记这时还没有commit提交到版本库中,如果执行了commit,那版本库中就没有了该文件就恢复不了啦;如果没有commit,那就可以用下面的命令恢复回来:
  git checkout -- filename
  实现一键还原
  十四、标签管理
  为分支打标签:
  git tagv1.0
  查看标签
  git tag
  如果需要将以前的信息打上标签,或者之前在某个地方忘记打标签啦,可以后补上
  git log --pretty=oneline --abbrev-commit

  这样可以针对commit>  git tag v0.9 6224937
  查看标签信息
  git show v1.0
  给标签加上说明:

  git tag -a v0.9 -m "version 1.0>  -a : 指定标签名
  -m: 说明文字
  删除本地标签:
  git tag -d v1.0
  将本地标签推送到远程:
  git push origin v1.0
  一次性推送多个本地标签:
  git push origin --tags
  删除远程标签:
  1、先删除本地标签:
  git tag -d v1.0
  2、删除远程的标签:
  git push origin :refs/tags/v0.9
  十五、多人协作
  当你从远程仓库克隆时,实际上git 自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin
  查看远程库的信息:
  git remote
  显示更详细的信息:
  git remote -v
  推送分支:
  git push origin master
  推送其他的分支:eg:dev
  git push origin dev
  关系:
  master分支是主分支,因此要时刻与远程同步;
  dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步。
  bug分支只用于本地修复bug,就没必要推送到远程了.
  feature分支是否推到远程 ,取决于自己和开发的小伙伴。
  工作模式:
  1、首先 ,可以试图用git push origin branch-name推送自己的修改
  2、如果推送失败,则因为远程分支也在更新,需要试图合并
  3、如果合并有冲突,则解决冲突,并在本地提交
  4、没有冲突或者解决掉冲突,再用git push origin branch-name推动成功
  十六、Feature分支
  进行一个全新的功能时,要先创建一个新的分支
  git checkout -b feature-vulcan
  切回dev,准备合并:
  git checkout dev
  如果因为各种原因,想取消此分支:(没有被合并过的分支)
  gitbranch -D feature-vulcan
  十七、bug分支
  当你在工作时,临时修复bug:(git提供了一个stash功能,可以把当前工作现场"隐藏"起来,等以后恢复现场后继续工作)
  git stash   (要先add添加到工作区,不用commit提交到暂存区)
  之后查看工作区:
  git status(干净的,可以放心的干活啦)
  确定在哪个分支上修复bug
  git checkout branch-name(切换分支)
  创建分支:
  git checkout -b issue-101
  修复完bug之后
  git add filename
  git commit -m “fix bug 101"
  切换到master分支,并完成合并,最后删除issue-110bug分支
  git checkoutmaster
  git merge --no-ff -m "merged bug fix 101" issue-101
  gitbranch -d issue-101
  切回之前工作分支:
  gitcheckout dev
  git status    查看工作区还是干净的
  查看之前的工作现场存到哪里去了?
  git stash list
  有两种恢复现场的方法:
  1、git stash apply,但是恢复后,stash内容并不删除,需要用git stash drop 来删除
  2、git stash pop ,恢复的同时把stash内容也删了。*********
  十八、--no-ff
  合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward 合并就看不出来曾经做过合并。
  十九、删除远程分支
  1、直接删除远程的分支
  git push origin --deletebranch-name
  2、 推送一个空分支到远程分支
  git push origin :
  二十、删除tag
  删除本地tag
  1、
  git tag -d
  git push origin :refs/tags/
  2、
  git push origin --delete tag
  附:
  Git基本常用命令如下:
  mkdir:         XX (创建一个空目录 XX指目录名)
  pwd:          显示当前目录的路径。
  git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
  git add XX       把xx文件添加到暂存区去。
  git commit –m “XX”提交文件 –m 后面的是注释。
  git status      查看仓库状态
  git diffXX      查看XX文件修改了那些内容
  git log          查看历史记录
  git reset–hard HEAD^ 或者 git reset–hard HEAD~ 回退到上一个版本
  (如果想回退到100个版本,使用git reset –hard HEAD~100 )
  cat XX         查看XX文件内容
  git reflog       查看历史记录的版本号id
  git checkout — XX把XX文件在工作区的修改全部撤销。
  git rm XX          删除XX文件
  git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
  git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
  git clone https://github.com/tugenhua0707/testgit从远程库中克隆
  git checkout –b dev创建dev分支 并切换到dev分支上
  git branch查看当前所有的分支
  git checkout master 切换回master分支
  git merge dev    在当前的分支上合并dev分支
  git branch –d dev 删除dev分支
  git branch name创建分支
  git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
  git stash list 查看所有被隐藏的文件列表
  git stash apply 恢复被隐藏的文件,但是内容不删除
  git stash drop 删除文件
  git stash pop 恢复文件的同时 也删除文件
  git remote 查看远程库的信息
  git remote –v 查看远程库的详细信息
  git push origin masterGit会把master分支推送到远程库对应的远程分支上
  $ git log --pretty=format:"%h - %an, %ar : %s"
  ca82a6d - Scott Chacon, 11 months ago : changed the version number
  085bb3b - Scott Chacon, 11 months ago : removed unnecessary test code
  a11bef0 - Scott Chacon, 11 months ago : first commit
  表 2-1 列出了常用的格式占位符写法及其代表的意义。
  选项   说明
  %H      提交对象(commit)的完整哈希字串
  %h      提交对象的简短哈希字串
  %T      树对象(tree)的完整哈希字串
  %t      树对象的简短哈希字串
  %P      父对象(parent)的完整哈希字串
  %p      父对象的简短哈希字串
  %an   作者(author)的名字
  %ae   作者的电子邮件地址
  %ad   作者修订日期(可以用 -date= 选项定制格式)
  %ar   作者修订日期,按多久以前的方式显示
  %cn   提交者(committer)的名字
  %ce   提交者的电子邮件地址
  %cd   提交日期
  %cr   提交日期,按多久以前的方式显示
  %s      提交说明

页: [1]
查看完整版本: git 基本操作指令