`
千年松鼠
  • 浏览: 25019 次
文章分类
社区版块
存档分类
最新评论

Git 备忘

git 
阅读更多
一.安装

linux 1.redhat:yum install git
      2.ubuntu:apt-get install git

windows 下载http://msysgit.github.io/安装,一切默认

  设置用户名及邮箱
git config --global(local为仓库级) user.name "your name"
git config --global user.email "youremail@***.com"

二.关联github

  获取ssh秘钥:ssh-keygen -t rsa -C "youremail@***.com"
  将当前用户目录下 ~/.ssh/id_rsa.pub(公钥)内容添加至github的ssh key(相当于防伪标识)
  关联远端仓库:git remote add origin git@github.com:yourgithubName/yourRepo.git
  查看仓库地址:git remote -v

三.克隆 、推送、同步

  克隆:git clone git@github.com:yourgithubName/yourRepo.git
  推送:(git push <远程主机名> <本地分支名>:<远程分支名>)git push origin branchname(一般为主分支master视开发情况而定)
  同步:(git pull <远程主机名> <远程分支名>:<本地分支名>)git pull origin 若出错提示无当前分支追踪信息,则  git branch --set-upstream   本地分支 origin/远端分支 使本地分支与远端关联
        git pull origin master ----allow-unrelated-histories

四.自己玩
 
  创建分支:git branch branchname
  切换分支:git checkout (-b 并创建) branchname
  删除分支:git branch -d branchname
  合并分支:git merge branchname
  查看分支:git branch
  查看远程分支:git branch -r
  查看所有分支:git branch -a
  获取远程分支:git checkout -b 本地分支名 远程分支名
  删除远程分支:git branch -r -d origin/branch-name
 
  添加文件:git add filename(暂存区)
  提交文件:git commit -m "your comment"

  雪藏未提交修改:git stash
  查看雪藏:git stash list
  回复雪藏:git stash apply [stash@{1}]
  删除雪藏:git stash drop [stash@{1}]
  弹出雪藏:git stash pop
 
  查看状态:git status
  查看提交历史:git log (--graph 图形)
  比较差别(当前与repo):git diff filename
  查看命令历史:git reflog

  退回到某一次提交:git reset --hard commitId(丢掉commitId后的提交内容)
                    git reset --soft commitId(commitId后的提交内容退回工作区)
  撤销工作区的修改:git checkout -- filename

  在提交代码(push -u origin master)的过程中如果遇到“Permission denied (publickey,gssapi-keyex,gssapi-with-mic).”错误
Windows:
1. 打开CMD
2. echo. host github.lngtop.com >> %HOMEPATH%\.ssh\config
3. echo. hostname github.lngtop.com >> %HOMEPATH%\.ssh\config
4. echo. port 2222" >> %HOMEPATH%\.ssh\config
Linux/MacOS:
1. echo -e "host github.lngtop.com\nhostname github.lngtop.com\nport 2222" >> ~/.ssh/config
(github.lngtop.com 换成自己在github上的repo地址)

五.
  1.忽略部分文件(如编译后的class文件、settings等 不必提交到远端的东东)
    在代码目录下新建.ignore文件,内如如下
     *.class              //要忽略的文件后缀名 *为通配符
     *.classpath
     *.project

     pay/.settings/        //要忽略的路径
     pay/WebRoot/WEB-INF/classes/
  如果这些文件还没提交到远端,一切Ok。
  若果已经提交了 那么需要先 git rm(settings要先备份) 再重新 git commit ,然后再git push提交到远端(再将备份还原)。以后git 就不会再检查这些文件了
 
  2.创建空分支
    git checkout --orphan branchname(新建分支没有commit log,但内容俱全)
    git rm -rf . 清空所有内容(此时branchname分支为空,执行commit后分支可见)

六.日常工作流程
 
  1.git checkout develop(若develop分支已存在) 切换到日常开发分支
  2.git pull origin develop 同步远程develop到本地develop分支
  3.git checkout -b feature1 基于develop分支创建并切换到feature1分支
 
  4.开始开发...完成后commit(可以有多个)

  5.git checkout develop 切换到develop分支
  6.git pull origin develop 再次同步远程develop到本地develop分支,因为有可能在自己进行开发时别人向远程提交了代码,这时要在提交前保持本地与远程同步
  7.git checkout feature1 再次切换到feature1分支
  8.git rebase develop
   1)没有冲突:
       git push origin feature1:develop 将本地feature1分支推送至远程develop分支
   2)有冲突:
       修改冲突文件
       git add .
       git rebase --continue 继续rebase (git rebase --abort 取消rebase 回到rebase开始前的状态)
       git push origin feature1:develop 将本地feature1分支推送至远程develop分支
七.fork别人的项目clone到本地后,远程分支有修改,需要同步远程分支,使得本地代码与远程分支一致。


  1、git remote -v:
    orgin:为本地分支的
    upstream:为远程分支

  2、git remote add upstream <原作者项目的URL>(上一步操作没有upstream,则需要添加uptream)
    完成后,执行git remote -v确认与上图一致。

  3、git fetch upstream 将远程分支同步到本地
  4、git checkout master 检查本地代码变更
  5、git merge upstream/master 合并分支

分享到:
评论

相关推荐

    git-cheat, 在你的命令行 中,git备忘单.zip

    git-cheat, 在你的命令行 中,git备忘单 git欺骗git-cheat 是命令行中的一个依赖关系自由 git helper 。 当然,这里还没有完整的git命令列表及其密钥,这是我几乎每天都在使用的命令集。 如果我错过了什么,请随意...

    Git-Cheatsheet:方便的 Git 备忘单

    Git备忘单 切换分支 git checkout &lt;branch&gt; -&gt; git checkout dev 切换到新分支 git checkout -b &lt;branch&gt; -&gt; git checkout -b feature-branch 将本地分支推送到远程 git push -u origin &lt;branch&gt; -&gt; git push -u ...

    Github-git-commands:简单的git备忘单

    Github-git-命令简单的git备忘单回购-&gt;存储库clone &gt;将一个回购协议从Internet(像Github这样的远程存储库)下载到本地计算机add -&gt;使用Git跟踪文件和更改commit -&gt;将更改保存到Git中push &gt;将更改推送到Github(或...

    git-cheat:漂亮,简洁,易于访问的Git备忘单

    终端中漂亮,易于拿到的Git备忘单 用法 $ git cheat 安装 使用NPM sudo npm install --global @fakerr/gitchsh 要求 工具:git 学分 所有积分应KIANI0X01创建我正在使用的 KIANI0X01 。 我只是将其包装到CLI中。 ...

    git-flow 备忘清单

    git-flow 备忘清单 git-flow 备忘清单 git-flow 备忘清单

    git-cheatsheet-card:Git备忘单的TabHub资源

    TabHub卡:git-cheatsheet-card 由生成 资源清单 您可以将以下链接地址之一复制为资源网址,以添加到设置中:

    Git和Git Flow速查表-Linux开发

    Git备忘单可让您免于全心学习所有命令。 Git和Git Flow速查表其他可用语言:阿拉伯语Git速查表中文Git速查表印地语Git速查表土​​耳其Git速查表西班牙西班牙语Git速查表希腊Git速查表Git速查表使您免于真正学习所有...

    git-flow备忘清单

    git-flow备忘录,git团队代码管理的最佳管理办法和工具文档

    git-help:小提醒。 git的命令列表

    Git备忘单 菜单 别名 为了阻止开发人员和合并/重新定义某人错误代码风格的不眠之夜之间的争执,请配置您的git git config core.whitespace "blank-at-eol,blank-at-eof,tab-in-indent" 要为某些命令添加别名,我们...

    git_cheatsheet:基于Coursera上的Git和GitHub入门课程的Git速查表

    高级Git备忘单 git commit -a :自动git commit -a文件git log -p :产生补丁文本git show :显示各种对象git diff :与Linux diff命令相似,并且可以显示各种提交中的差异git diff --staged :别名--cached ,这将...

    git-cheatsheet:交互式备忘单,git可视化

    Git备忘单 独立HTML页面,根据其影响来组织Git的命令。 就像我学习git并试图理解它一样构建。 事实证明,这对其他人也很有用。 贡献者 Andrew Peterson 法语翻译 通过简体中文翻译 错误修复 西班牙语翻译, 通过...

    git 常用命令备忘录

    git 常用命令备忘录, 都是开发中常用的, 必要时可拿来看看

    Git小抄「Git Cheat Sheet」-crx插件

    方便的Git备忘单,方便访问常用的Git命令和术语。 您正在学习Git吗? 还是您永远都不记得所有可用的Git命令? 还是您不确定“远程”或“调整基准”是什么? 该扩展包括方便的Git术语,常用命令以及有关每个Git命令的...

    git-cheatsheet:一站式指南,可帮助您解决有关Git和GitHub的所有疑问

    :star: git备忘单 :star: 此存储库是所有情况下您需要使用的所有git命令的指南指数 :books: 基本命令 :victory_hand: 克隆存储库git init Turn an existing directory into a git repositorygit clone ...

    git-cheat-sheet:git和git flow备忘单

    git-cheat-sheet:git和git flow备忘单

    mosh-ultimate-git-course:用Mosh编写代码-终极Git课程

    它可以用作广泛的Git备忘单。 课程课程 入门 创建快照 浏览记录 分枝 合作 改写历史 入门(15m) 简介(0:39) 如何上这门课(0:51) 什么是Git(2:31) 使用Git(3:03) 安装Git(1:27) 配置Git(5:04) ...

    quickref:Android的Git快速参考应用程序

    随时随地显示“ git备忘单”。 它可以在没有互联网连接的情况下工作。 当前,它不需要任何权限。 该存储库适用于android应用程序。 有关快速参考文档本身(备忘单),请访问存储库。 请注意,此应用程序并非试图...

    Git常用命令备忘 - robbin的自言自语1

    Git常用命令备忘 ­ robbin的自言自语robbin的自言自语登录Small is beautiful, constraint is liberty.首页

    git-cheat-sheet.pdf

    git命令备忘录

Global site tag (gtag.js) - Google Analytics